我应该使用哪种Java API用于OCSP支持实现证书验证



存在两个Java API参考:

  • http://docs.oracle.com/javase/7/docs/technotes/guides/guides/security/jsse/jsse/jsserefguide.html

  • http://docs.oracle.com/javase/7/docs/technotes/guides/guides/security/certpath/certpathprogguide.html

在第一个中,有关于X509TrustManager接口的描述。我很困惑。我应该使用该一个来实施X509证书验证,还是必须通过第二个链接?这是实现我的目标的标准方法

第二个链接提供围绕CertPath class的文档,如何实现自己的认证路径验证。因此,您必须自己处理整个PKI证书链(例如,签名和证书的验证)。此外,它为您提供PKIX的信息,用于证书验证的默认算法。

第一个链接显示了如何使用使用PKIX算法的TrustManager。除了PKIX的证书路径验证外,还包含TrustManager建立SSL/TLS通信的更多机制。

TrustManager/PKIX算法还提供了吊销机制(CLROCSP)。要激活OCSP,请深入了解第一个链接部分PKIX Trustmanager支持。

如果使用了INIT(密钥库KS)方法,则默认PKIXPARAMETER是 除了禁用撤销检查的例外。它可以 通过设置系统属性来启用 com.sun.net.ssl.CheckRevocation至true。

您必须将安全属性ocsp.enable设置为true。因此,基本上,您无事可做

System.setProperty("com.sun.net.ssl.checkRevocation", "true");
Security.setProperty("ocsp.enable", "true");

如果您不想重新实现或交换已使用TrustManagerPKIX算法提供的验证链机制,则绝对应该使用第一个链接。如果您需要有关PKIX算法的更多信息,请实现自己的或做 Just 认证验证验证而不建立TLS/SSL通信,则应检查第二个链接。

相关内容

  • 没有找到相关文章

最新更新