制作证书链并进行验证

本文详细介绍了如何生成自签名的根证书、中间证书以及叶子证书,并通过openssl工具进行证书链验证,确保服务器HTTPS安全通信。

生成自签名的根证书:

openssl req -x509 -newkey rsa -outform PEM -out tls-rootca.pem -keyform PEM -keyout tls-rootca.key.pem -days 35600 -nodes -subj “/C=cn/O=mycomp/OU=mygroup/CN=rootca”

生成中间证书

1.生成csr和key文件

openssl req -newkey rsa:2048 -outform PEM -out tls-intermca.csr -keyform PEM -keyout tls-intermca.key.pem -nodes -extensions v3_ca -config /etc/ssl/openssl.cnf -subj “/C=cn/O=mycomp/OU=mygroup/CN=intermca”

2.用rootCA对intermca进行签发

openssl x509 -req -days 365 -in tls-intermca.csr -out tls-intermca.pem -CA tls-rootca.pem -CAkey tls-rootca.key.pem -CAcreateserial -extensions v3_ca -extfile /etc/ssl/openssl.cnf

生成叶子证书:

1.生成csr和key文件

openssl req -newkey rsa:2048 -outform PEM -out tls-cert.csr -keyform PEM -keyout tls-cert.key.pem -nodes -reqexts SAN -extensions v3_req -config <(cat /etc/ssl/openssl.cnf <(printf “\n[SAN]\nsubjectAltName=DNS:server.mycomp.com, DNS:localhost, DNS:127.0.0.1”)) -subj “/C=cn/O=mycomp/OU=mygroup/CN=server”

2.用intermca对cert进行签发

openssl x509 -req -days 365 -in tls-cert.csr -out tls-cert.pem -CA tls-intermca.pem -CAkey tls-intermca.key.pem -CAcreateserial -extensions SAN -extfile <(cat /etc/ssl/openssl.cnf <(printf “\n[SAN]\nsubjectAltName=DNS:server.mycomp.com, DNS:localhost, DNS:127.0.0.1”))

查看证书:

openssl x509 -in xxx.pem -text -noout

失效中间层证书与根证书验证

~/cert/second-out$ openssl verify -partial_chain -CAfile tls-rootca.pem -untrusted tls-rootca.pem tls-intermca-1.pem
tls-intermca-1.pem: OK


~/cert/second-out$ openssl verify -partial_chain -CAfile tls-rootca.pem -untrusted tls-rootca.pem tls-intermca.pem
tls-intermca.pem: OK


~/cert/second-out$ openssl verify -partial_chain -CAfile tls-rootca.pem -untrusted tls-rootca.pem tls-intermca-out.pem
tls-intermca-out.pem: C = cn, O = mycomp, OU = mygroup, CN = intermca
error 10 at 0 depth lookup:certificate has expired
OK

失效中间层证书与叶子证书

~/cert/second-out$ openssl verify -partial_chain -CAfile tls-intermca-1.pem -untrusted tls-intermca.pem tls-cert.pem
tls-cert.pem: OK


cl@LJY:~/cert/second-out$ openssl verify -partial_chain -CAfile tls-intermca.pem -untrusted tls-intermca.pem tls-cert.pem
tls-cert.pem: OK


~/cert/second-out$ openssl verify -partial_chain -CAfile tls-intermca-out.pem -untrusted tls-intermca.pem tls-cert.pem
tls-cert.pem: C = cn, O = mycomp, OU = mygroup, CN = intermca
error 10 at 1 depth lookup:certificate has expired
OK

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值