(ZT)openssl 制作证书

original url from: http://blog.csdn.net/baostar/archive/2009/08/24/4480340.aspx

转载的原因: 做网页控件CAB时,需要一张证书来签名.

 

一.生成证书

  1. 首先要生成服务器端的私钥(key 文件):
    openssl genrsa -des3 -out server.key 1024
    运行时会提示输入密码, 此密码用于加密key 文件( 参数des3 便是指加密算法, 当然也可以选用其他你认为安全的算法.), 以后每当需读取此文件( 通过openssl 提供的命令或API) 都需输入口令. 如果觉得不方便, 也可以去除这个口令, 但一定要采取其他的保护措施!
    去除key 文件口令的命令:
    openssl rsa -in server.key -out server.key
  2. openssl req -new -key server.key -out server.csr -config openssl.cnf
    生成Certificate Signing RequestCSR, 生成的csr 文件交给CA 签名后形成服务端自己的证书. 屏幕上将有提示, 依照其指示一步一步输入要求的个人信息即可.

Openssl.cnf 文件一定要在当前目录下存在,另外 在相应目录中(由 openssl.cnf 的相关配置项确定)建立 index.txt 空文件 , serial 文件 , serial 文件 中可输入 01

上图中在usr/share/ssl/ 目录下创建/demoCA 目录,并将serialindex.txt 放在该目录下:

  1. 对客户端也作同样的命令生成keycsr 文件:
    openssl genrsa -des3 -out client.key 1024
    openssl req -new -key client.key -out client.csr -config openssl.cnf
  2. CSR 文件必须有CA 的签名才可形成证书. 可将此文件发送到verisign 等地方由它验证, 要交一大笔钱, 何不自己做CA.
    openssl req -new -x509 -days 365 -keyout ca.key -out ca.crt -config openssl.cnf
  3. 用生成的CA 的证书为刚才生成的server.csr,client.csr 文件签名:
    Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
    Openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
    现在我们所需的全部文件便生成了.

   另:
       client
使用的文件有:ca.crt,client.crt,client.key
       server
使用的文件有:ca.crt,server.crt,server.key
       .crt
文件和.key 可以合到一个文件里面,本人把2 个文件合成了一个.pem 文件(直接拷贝过去就行了)

二.格式转换问题

IE 不能导入pem 格式证书需要转换成pfx 格式的以下是将x509 格式转换成pfx 格式的命令:

openssl pkcs12 -export -inkey client.key -in client.crt -out client.pfx

 

这样,client.pfx 就是直接可以导入到IE 的证书了(含私钥)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值