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

发表时间:2018-09-28 13:02 | 分类:Linux | 浏览:5,002 次

首先建立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。

本文标签:

本文链接:https://www.sijitao.net/2747.html

欢迎您在本博客中留下评论,如需转载原创文章请注明出处,谢谢!

一键脚本 博客历程 留言联系 文章归档 网站地图 谷歌地图
Copyright © 2010-2024 章郎虫博客 All Rights Reserved.