自签发CA证书
使用下面的命令生成私钥与证书
openssl req -new -x509 -days 3650 -out ca.crt
根据提示输入密码等信息,成功会生成两个文件privkey.pem和ca.crt证书文件
签发中间证书
创建中间证书的签名请求与私钥
openssl req -new -newkey rsa:2048 -nodes -keyout mid-ca.pem -out mid-ca.csr
创建mid-ext.ini文件,说明中间CA证书信息
basicConstraints=critical,CA:TRUE
给使用上一步创建的RootCA给中间CA签名
openssl x509 -req -in mid-ca.csr -CA ca.crt -CAkey privkey.pem -CAcreateserial -out mid-ca.crt -days 3650 -extfile mid-ext.ini
签发SSL证书
创建ext.ini文件,说明证书信息
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage=digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName=@alt_names
[alt_names]
DNS.1 = test.example.com
其中[alt_names]下的内容就是common name,也就是域名了,除此外还可以填写IP地址
IP.1 = 127.0.0.1
或者是泛域名DNS.1 = *.example.com
然后生成请求文件
openssl req -new -sha256 -nodes -out example.csr -newkey rsa:2048 -keyout example.key
颁发证书
openssl x509 -req -in example.csr -CA mid-ca.crt -CAkey mid-ca.pem -CAcreateserial -out example.crt -days 365 -sha256 -extfile ext.ini
合成证书链文件
使用cat 合成证书链文件即可,根证书在底部