上一节讲了各种证书的格式,在此基础上本次来探究一下证书的生成。本次使用openssl进行相应的证书管理,具体openssl的安装说明等基本知识就不在此赘述。
此次主要流程就是先生成一个自签名根证书,然后利用自签名根证书去签发一个服务器证书,具体步骤如下:
1. 生成根证书之前,首先需要进行私钥生成(以RSA为例)
openssl genrsa -out ca.key 1024
该密钥默认使用PKCS#1格式,并使用PEM编码输出文件,具体秘钥内容可通过以下命令查看:
openssl rsa -in ca.key -text
PEM格式私钥转为DER格式命令如下:
openssl rsa -in ca.key -outform der -out ca-der.key
查看DER格式的私钥文件,指定输入格式为der即可:
openssl rsa -inform der -in ca-der.key -text
如需将PKCS#1密钥转换为PKCS#8,则使用如下命令并设置“提取密码”:
openssl pkcs8 -topk8 -in ca.key -out ca-pkcs8.key
2. 生成自签名根证书
openssl req -new X509 -key ca.key -out ca.crt -days 3650
命令