使用openssl生成sha256自签名SSL证书

1,890 views次阅读
没有评论

首先建立ca
生成 RSA 密钥对:

openssl genrsa -out ca.key 2048

若想对私钥进行加密可以加上 -des3 参数
生成 ca crt:

openssl req -new -x509 -days 365 -key ca.key -out ca.crt

站点证书的生成
生成证书的RSA 密钥(当然你要是很懒同时测试使用,也可以直接使用CA的KEY)

openssl genrsa -out xxx.key 2048

生成csr证书(假设需要签SSL证书的域名为: nbhao.org):

openssl req -new -key xxx.key -sha256 -out xxx.csr

注:使用 -sha256 将采用sha256加密,openssl默认采用sha1加密,而现代已将 sha1 加密方式认定为非安全,故使用sha2。
检查 csr 的正确性:

openssl req -in xxx.csr -text

检查其中 Signature Algorithm 是不是 sha256WithRSAEncryption。
利用 ca 生成 crt:

openssl x509 -req -days 365 -in xxx.csr -CA ca.crt -CAkey ca.key -sha256 -out xxx.crt

如果和我一样报这个错误

Getting CA Private Key
ca.srl: No such file or directory
27710:error:02001002:system library:fopen:No such file or directory:bss_file.c:356:fopen('ca.srl','r')
27710:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:358:

命令中添加参数 -CAcreateserial -CAserial ca.seq
例如:

openssl x509 -req -days 3000 -in blog.nbhao.org.csr -CA ca.crt -CAkey ca.key -CAcreateserial -CAserial ca.seq -sha256 -out blog.nbhao.org.crt

检查 crt 的正确性:

openssl x509 -in xxx.crt -text

同样检查 Signature Algorithm 是不是sha256WithRSAEncryption。

正文完
微信搜一搜“奇悦电脑科技”或扫描二维码关注我们
post-qrcode
 0
章郎虫
版权声明:本站原创文章,由 章郎虫 于2018-09-28发表,共计976字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。