通过自签名证书的方式生成证书流程
根证书的Common Name填写root即可,客户端和服务端证书需要填写域名。根证书的这个字段和客户端证书、服务端证书不能一样。
其他所有字段的填写,根证书、服务器端证书、客户端证书需保持一致。
1. 生成自签名根证书
# 创建根证书私钥root.key
openssl genrsa -out root.key 1024
# 创建根证书请求文件root.csr
openssl req -new -out root.csr -key root.key
# 创建根证书root.crt
openssl x509 -req -in root.csr -out root.crt -signkey root.key -CAcreateserial -days 3650
得到一个签名有效期为10年的根证书root.crt,用这个根证书去颁发服务端证书和客户端证书。
2. 生成自签名服务端证书
# 生成服务端证书私钥
openssl genrsa -out server.key 1024
# 生成服务端证书请求文件
openssl req -new -out server.csr -key server.key
# 生成10年有效期的服务端公钥证书
openssl x509 -req -in server.csr -out server.crt -signkey server.key -CA root.crt -CAkey root.key -CAcreateserial -days 3650
3.生成自签名客户端证书
# 生成客户端证书秘钥
openssl genrsa -out client.key 1024
# 生成客户端证书请求文件
openssl req -new -out client.csr -key client.key
# 生成客户端证书
openssl x509 -req -in client.csr -out client.crt -signkey client.key -CA root.crt -CAkey root.key -CAcreateserial -days 3650
4.验证客户端证书和服务端证书是否为根证书签发
openssl verify -CAfile root.crt client.crt
openssl verify -CAfile root.crt server.crt
5.查看证书详情
openssl x509 -in client.crt -text -noout
标签:crt,证书,openssl,key,操作,root,out
From: https://www.cnblogs.com/WJQ2017/p/17135596.html