使用openssl创建三级带时间戳扩展证书的方法
直接进入主题,首先先下载好openssl,下载地址https://www.openssl.org/source/。具体看下图:
至于openssl的安装网上有很多教程,查一下就好了,你只要保证安装好它就行。你下载安装好后再安装目录\bin\cnf\openssl.cnf下会有这个文件,你所创建的证书的信息是由这个配置文件决定的。如果在该路径下找不到这个文件,那就按照名字全局搜索一下。接下来是创建证书的步骤:
一、进入到openssl的安装目录OpenSSL-Win64\bin\cnf下找到openssl.cnf并复制。在桌面新建一个‘证书’文件夹,将openssl.cnf复制到这个文件夹里。
二、打开刚刚复制过来的openssl.cnf文件,找到[ v3_req ]这个节,你可以看到在这个节点下面有句#keyUsage = nonRepudiation, digitalSignature, keyEncipherment,将我以下两句复制到这句的下面。
keyUsage=digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment
extendedKeyUsage=critical,timestamping
三、进入cmd命令行切换到‘证书’文件夹目录,输入openssl进入到openssl命令行然后在输入以下四句:
genrsa -out ca-key.pem 1024 --创建根证私钥
req -new -out ca-req.csr -key ca-key.pem -config openssl.cnf --根据配置文件创建根证书请求文件
x509 -req -days 365 -sha256 -extfile openssl.cnf -extensions v3_req -in ca-req.csr -signkey ca-key.pem -out ca-cert.pem --自签根证书,其中-extensions v3_req是设置为三级证书
pkcs12 -export -clcerts -in ca-cert.pem -inkey ca-key.pem -out ca.p12 --导出p12格式根证书
输入完以上四句你会发现在‘证书’文件夹里多了几个文件,其中ca.p12就是你要的时间戳证书。
扩展:
一、如果你想使用中文的证书信息,比如cn=网安检测,那么将上面的第二句-new后面加个-utf8即可,如下:
req -new -utf8 -out ca-req.csr -key ca-key.pem -config openssl.cnf
但要注意进入cmd命令行时先输入chcp 65001将命令行编码更改为utf-8。
二、如果你想了解更多openssl.cnf的信息请看这篇博文https://www.cnblogs.com/f-ck-need-u/p/6091027.html。
如果对你有用记得点个赞,不然我会开着86来找你的。要是你需要创建带时间戳或类似的三级证书,在博文中没讲清楚或没完成你功能的欢迎给我留言,我会每天看并及时回复。