w
wnwk
V1
2022/11/02阅读:29主题:默认主题
openssl
openssl
生成根证书
#生成 2048 位的私钥
openssl genrsa -aes256 -out cakey.pem 2048
#创建根证书的签名请求 csr certification sign request
openssl req -new -key cakey.pem -out ca.csr -subj "/C=myCN/ST=myst/L=myl/O=myo/OU=myou/CN=mycn"
#生成证书 -extfile /etc/pki/tls/openssl.cnf -extensions v3_ca 生成V3 版本的证书
openssl x509 -req -days 365 -sha256 -extfile /etc/pki/tls/openssl.cnf -extensions v3_ca -signkey cakey.pem -in ca.csr -out ca.cer
#去除key的 保护密码
openssl rsa -in cakey.pem -out cakey.pem
生成server端证书
# 生成私钥
openssl genrsa -aes256 -out server-key.pem 2048
# 创建证书的签名请求
openssl req -new -key server-key.pem -out server.csr -subj "/C=sc /ST=sst/L=sl/O=so/OU=sou/CN=*.test.com"
# 生成证书
openssl x509 -req -days 365 -sha256 -extfile /etc/pki/tls/openssl.cnf -extensions v3_req -CA ca.cer -CAkey cakey.pem -CAserial ca.srl -CAcreateserial -in server.csr -out server.cer
生成client端证书
openssl genrsa -aes256 -out client-key.pem 2048
#签名请求中的内容 与server端要匹配
openssl req -new -key client-key.pem -out client.csr -subj "/CN=*.test.com"
openssl x509 -req -days 365 -sha256 -extfile /etc/pki/tls/openssl.cnf -extensions v3_req -CA ca.cer -CAkey cakey.pem -CAserial ca.srl -in client.csr -out client.cer
#client端证书导出,导出的证书中包含了私钥,可以直接导入到浏览器,.cer证书仅包含公钥,.p12证书可能既包含公钥也包含私钥
openssl pkcs12 -export -clcerts -name myclient -inkey client-key.pem -in client.cer -out client.p12
附加命令
//查看证书申请的信息
openssl req -text -in client.csr -noout
#校验证书
openssl verify -verbose -CAfile ca.crt client.crt server.crt
#输出证书 可以看到 issuer 的信息
openssl x509 -text -in server.cer
检查openssl生成的pem的证书与私钥是否匹配
openssl x509 -noout -modulus -in server.pem | openssl md5
openssl rsa -noout -modulus -in server.key | openssl md5
查看证书的相关命令可以参考
https://www.yisu.com/zixun/598728.html

作者介绍
w
wnwk
V1