我当前正在尝试验证从 URL 下载的 CRL 是否是由相应证书颁发机构签名的有效文件。
使用 OpenSSL,您可以按如下方式执行此操作:
https://www.openssl.org/docs/manmaster/apps/crl.html
CertEurope 颁发的 CRL 示例:
openssl crl -in certeurope_v3.crl -inform der -CAfile certeurope_advanced_v3.cer
(CRL文件和CA文件从此URL下载:https://www.certeurope.fr/chaine-de-confiance)
- CA 文件: https://www.certeurope.fr/reference/certeurope_advanced_v3.cer
- CRL 文件:https://www.certeurope.fr/reference/certeurope_v3.crl
不幸的是,OpenSSL 收到一个错误,该命令行显示:
"Error getting CRL issuer certificate"
关于此链接:https://www.openssl.org/docs/manmaster/apps/verify.html 原因似乎是这样的:
20 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY: unable to get local issuer certificate the issuer certificate could not be found: this occurs if the issuer certificate of an untrusted certificate cannot be found.
这是因为 CA 文件不是用于签署 CRL 文件的文件吗?是否有其他方法可以验证我下载的 CRL 文件是否有效?
最佳答案
dave_thompson_085 的回答解决了我的问题。您需要 PEM 证书来检查 CRL 有效性。再次感谢。
关于ssl - 对照其根 CA 验证 CRL 签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34284375/