Java 中的证书路径验证,包括 CRL 验证
Certificate Path validation in Java including CRL validation
我有一个中间证书链、一个根证书和一个客户端证书。我必须验证它们是否一起形成了有效的证书链。当我有一个带有有效 CRLDistributionPoint
条目的中间证书时,这非常有用。 Java CertPathValidator
API 完美地处理了验证。
我的问题是关于存在多个中间证书并且每个证书都可能有一个 CRLDistributionPoint
条目的情况。我是否需要编写额外的代码来处理这种情况?或者 Java 会简单地针对所有 CRL 进行验证吗?还是根证书只能将 CRL 签名委托给一个证书?
我尝试在网上搜索,但没有找到任何线索。除了我的问题的答案之外,如果有人可以向我指出有关 PKI 和一般证书的资源,那就太好了。谢谢!
不,您不必添加代码,JDK 实现可以顺利处理包含多个中间 CA 证书的证书路径的验证。
请注意,验证代码还针对来自 NIST 的 PKI Test Suite 进行了测试。该测试套件试图提供证书和证书路径验证测试用例的完整列表。
如果想看实现代码,可以看OpenJDK实现:http://www.docjar.com/docs/api/sun/security/provider/certpath/package-index.html
我有一个中间证书链、一个根证书和一个客户端证书。我必须验证它们是否一起形成了有效的证书链。当我有一个带有有效 CRLDistributionPoint
条目的中间证书时,这非常有用。 Java CertPathValidator
API 完美地处理了验证。
我的问题是关于存在多个中间证书并且每个证书都可能有一个 CRLDistributionPoint
条目的情况。我是否需要编写额外的代码来处理这种情况?或者 Java 会简单地针对所有 CRL 进行验证吗?还是根证书只能将 CRL 签名委托给一个证书?
我尝试在网上搜索,但没有找到任何线索。除了我的问题的答案之外,如果有人可以向我指出有关 PKI 和一般证书的资源,那就太好了。谢谢!
不,您不必添加代码,JDK 实现可以顺利处理包含多个中间 CA 证书的证书路径的验证。
请注意,验证代码还针对来自 NIST 的 PKI Test Suite 进行了测试。该测试套件试图提供证书和证书路径验证测试用例的完整列表。
如果想看实现代码,可以看OpenJDK实现:http://www.docjar.com/docs/api/sun/security/provider/certpath/package-index.html