Windows下用openssl命令制作生成证书和自签名

这些天领导让我把web service 由原来的HTTP协议改用加密并且加上客户认证,系统原本用的gsoap,没办法只好调查了,现在总结了一些有关openssl生产证书的步骤:

1、 新建工作目录,将openssl安装路径下的apps/CA.pl 和 apps/openssl.cnf(在window中该文件会显示成名为openssl的快速拨号程序)文件复制到该路径。可以修改openssl.cnf文件中的一些参数。启动控制台,执行命令

CA.pl -newca



2、 生成根证书和对应的私钥
openssl req -new -x509 -keyout cakey.pem -out cacert.pem -config openssl.cnf
记住输入的pass phrase、国家、省、组织等参数,不能全为空。将生成的cakey.pem放到demoCA/private目录下,将cacert.pem放到demoCA目录下。



注意:在window下需要openssl命令都需要增加-config openssl.cnf参数,防止因找不到配置文件而报错。Linux下不需要该参数。


3、 生成服务证书私钥和证书请求文件
openssl req -newkey rsa:2048 -out newCSR.pem -keyout newKey.pem -config openssl.cnf
如果要生成多个证书私钥对,注意输入Common Name值要不同。如果不是自签名,可将生成的证书请求文件newCSR.pem交由相关组织签发证书。


4、 用根证书签发该服务证书
openssl ca -in newCSR.pem -out newCert.pem -config openssl.cnf


至此,我们生成了根证书和私钥cakey.pem、cacert.pem。用于服务由根证书签发了的证书newCert.pem和对应私钥newKey.pem。openssl编程过程中,需要验证newCert.pem和newKey.pem是否匹配。用根证书cacert.pem验证newCert.pem是否可信。


你可能感兴趣的:(其他)