使用 Java 检查证书吊销状态

Check certificate revocation status with Java

是否可以使用 Java 程序对数字证书(*.cer 文件)进行吊销检查,而无需通过该程序连接到 Internet?

我可以从 CA 的网站下载 CRL 并将其放在程序所在的服务器上 运行。我的程序如何根据下载的证书检查证书的吊销状态 CRL?

  1. 如果您想依赖您的 CRL,必须使 CRL 保持最新。我不推荐这个。

  2. 什么时候更新CRL? CRL 可能包含到期日期,在这种情况下,您需要在该日期之后下载 "newer-released" CRL。 (有时 CA 在到期日期之前发布 CRL,您也应该检查一下)

  3. 要完全依赖 CRL,您需要检查 X509CRL 中的 'revokedCertificates' 字段。如果您的证书包含在集合中,则它已被撤销。请记住检查撤销日期(如果它在列表中)。

我建议阅读 RFC 5280:Internet X.509 Public 密钥基础结构证书 和证书吊销列表 (CRL) 配置文件