在Windows平台下自己生成crt证书

来源:互联网 发布:js点击改变class 编辑:程序博客网 时间:2024/05/29 17:56

     由于一个朋友的网站需要使用HTTPS协议,在配置Apache的使用ssl出错导致Apache无法启动。如果没有现成的crt证书,则可以自己生成crt证书,当然这种自己生成的crt证书也是有局限性的,没有经过官方认证,无法在公网上使用。具体的制作的步骤如下:
    制作证书一般会用到三个类文件,分别是后缀名为:key,csr,crt这三种文件。
    Key 是私用密钥openssl格,通常是rsa算法。
    Csr 是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。
    crt是CA认证后的证书文。
1.key的生成
           openssl genrsa -des3 -out server.key 2048
    这样是生成rsa私钥,des3算法,openssl格式,2048位强度。server.key是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的key:
           openssl rsa -in server.key -out server.key
erver.key就是没有密码的版本了。
2. 生成CA的crt
           openssl req -new -x509 -key server.key -out ca.crt -days 3650
生成的ca.crt文件是用来签署下面的server.csr文件。
3. csr的生成方法
           openssl req -new -key server.key -out server.csr
执行成功后提示要输入您的相关信息。填写说明:
   1.Country Name:
      填您所在国家的ISO标准代号,如中国为CN,美国为US
   2.State or Province Name:
      填您单位所在地省/自治区/直辖市,如北京市或 Beijing
   3.Locality Name:
      填您单位所在地的市/县/区,如昌平或Changping
   4.Organization Name:
      填您单位/机构/企业合法的名称,如广东数字证书认证中心或Guangdong Certification Authority Co.,Ltd.
   5.Organizational Unit Name:
      填:部门名称,如技术支持部或Technical support
   6.Common Name:
      填:域名,如:localhost。在多个域名时,填主域名,如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报
   7.Email Address:
      填您的邮件地址,不必输入,按回车跳过
   8.‘extra’attributes  
      从信息开始的都不需要填写,按回车跳过直至命令执行完毕,除第1、6、7、8项外,2-5的信息填写请统一使用中文或者英文填写。并确保您填写的所有内容和您提交到的证书颁发单位内容一致,以保证SSL证书的签发。生成的csr文件交给CA签名后形成服务端自己的证书。
4. crt生成方法
    CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢。
        openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -out server.crt
    输入key的密钥后,完成证书生成。-CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。
    最后生成了私用密钥:server.key和自己认证的SSL证书:server.crt

原创粉丝点击