【问题标题】:Verify CRL signature against its root CA针对其根 CA 验证 CRL 签名
【发布时间】:2023-03-21 04:21:01
【问题描述】:

我目前正在尝试验证我从 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文件从这个网址下载:https://www.certeurope.fr/chaine-de-confiance

不幸的是,OpenSSL 的命令行显示错误:

“获取 CRL 颁发者证书时出错”

关于此链接:https://www.openssl.org/docs/manmaster/apps/verify.html 原因似乎是这样的:

20 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY:无法获取本地 颁发者证书 找不到颁发者证书:this 如果不可信证书的颁发者证书不能 找到了。

这是因为 CA 文件不是用于签署 CRL 文件的文件吗?还有其他方法可以验证我下载的 CRL 文件是否有效?

【问题讨论】:

  • 是的,CRL 由该证书签名,但该证书链接(如 CRL)是 DER 和 -CAfile(和 -CApath需要 PEM。将其转换为 openssl x509 -in certeurope_advanced_v3.cer -inform der -out certeurope_advanced_v3.pem 并改用它。但是使用网站上的证书来验证网站上的 CRL 并不是很安全;如果该网站是欺诈性的或被盗用的,它们实际上都可能是无效的。
  • 谢谢,它有效!您能回答我的问题,以便我将其标记为已解决吗?

标签: ssl openssl


【解决方案1】:

dave_thompson_085 的回答解决了我的问题。您需要 PEM 证书来检查 CRL 的有效性。再次感谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-26
    • 2010-10-10
    • 2015-04-18
    • 2012-07-20
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多