w

wnwk

V1

2022/11/02阅读:25主题:默认主题

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

IT杂谈公众号
IT杂谈公众号

分类:

后端

标签:

后端

作者介绍

w
wnwk
V1