之前的文章中介绍了通过mkcert和itiverba生成自签证书的方法,也分析了其中的优劣势对比,无论itiverba还是mkcert的原理都是先创建根证书,然后通过根证书进行签发对应的网站证书。https://www.cnwenhui.cn/html/show-2614.html itisscg一个可以自定义subject Alternative Name的自签证书工具
本篇文章针对通过openssl来进行说明CA自签证书生成的方法,首先先下载openssl到我们电脑,根据所用的linux系统或windows进行选择。
我这里用的事centos 7版本的系统,查看下openssl的版本为1.1.1。
我们先来生成 CA 根密钥, 如果需要指定密码,可以在生成的后面增加参数: -passout pass: ***, 不加的话一会根据提示输入密码。
openssl genrsa -aes256 -out ./wenhuikey.pem 4096
-ase256 格式加密,并输出至当前目录下的wenhuikey.pem ,提示输入密码,并再次输入确认密码即可。
这样我们就生成了ca根秘钥,下面通过ca根秘钥来生成请求文件。
openssl req -new -sha256 \
-key ./cakey.pem \
-out ./wenhuica.csr \
-subj "/C=CN/ST=SD/L=JN/O=WenHui/OU=Info/CN=WenHui"
这里解释一下,-key 指定刚刚生成的秘钥,-out 指定的是生成的请求文件,-subj是来设置证书对应的属性,
可以通过 openssl req -text -noout -in ./wenhuica.csr查看请求文件
下面我们通过请求文件和根秘钥来生成证书,
openssl x509 -req -sha256 -days 365 \
-in ./wenhuica.csr \
-signkey ./wenhuikey.pem \
-out ./wenhuica.crt
-in是指定输入的请求文件,-signkey指定根秘钥,-out输出的证书文件, -sha256加密方式 -days 365 证书有效期365天,证书有效期根据实际需要进行设置即可。
再次输入key的密码后即可生成对应的ca证书,以上就完成了通过openssl根证书的过程了。