gpt4 book ai didi

openssl CLI - 验证整个认证链的 CRL

转载 作者:行者123 更新时间:2023-12-05 05:15:04 28 4
gpt4 key购买 nike

我正在使用 OpenSSL 验证自定义 PKI 中的签名代码。如何验证证书层次结构中每个节点的 CRL。

我的层次结构是:RootCA -> SubCA1 -> SubCA2 -> EndUser。我可以验证一个深度链的 CRL:

~/$ cat RootCA.crl.pem RootCA.pem > RootCA.chain.pem
~/$ openssl verify -check_crl -CAfile RootCA.chain.pem SubCA1.pem
CN = SubCA1
SubCA1.pem: OK

但是,当我尝试使用多个 subCA 实现相同的目的时,CRL validationf 失败了:

~/$ cat RootCA.crl.pem RootCA.pem > RootCA.chain.pem
~/$ cat SubCA1.crl.pem SubCA1.pem > SubCA1.chain.pem
~/$ openssl verify -check_crl -CAfile RootCA.chain.pem -untrusted SubCA1.chain.pem SubCA2.pem
CN = SubCA1
error 3 at depth 0 lookup: unable to get certificate CRL
error SubCA2.pem: verification failed

是否可以实现这种CRL的多深度验证?我也试过 -check_crl_all,但它给出了同样的错误。

最佳答案

根据 https://raymii.org/s/articles/OpenSSL_manually_verify_a_certificate_against_a_CRL.html检查证书层次结构中每个节点的输出,根 CA 除外,因为它是自签名的并且自签名不包括 CRL。

openssl x509 -noout -text -in SubCA2.pem | grep -A 4 'X509v3 CRL Distribution Points'

它应该显示类似

X509v3 CRL Distribution Points: 
Full Name:
URI:http://crl.globalsign.com/gs/gsorganizationvalsha2g2.crl

否则您的 SSL 证书不包含 CRL url 很可能是自签名证书。

如果你在 pem 文件中使用 上面的输出存储 CRl

wget -O crl.der http://crl.globalsign.com/gs/gsorganizationvalsha2g2.crl
openssl crl -inform DER -in crl.der -outform PEM -out crl.pem

&验证使用

openssl verify -crl_check -CAfile crl_chain.pem crl.pem 

关于openssl CLI - 验证整个认证链的 CRL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51970569/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com