【问题标题】:Validate Extended Validation(EV) of SSL certificate using JSSE使用 JSSE 验证 SSL 证书的扩展验证 (EV)
【发布时间】:2012-03-21 15:52:05
【问题描述】:

我得到了 URL 列表,我想使用 JAVA 验证它们的扩展验证 (EV) 属性 我可以提出请求并获得他们的证书,但我不确定如何验证给定站点的“扩展验证”。

证书有什么特殊价值吗?还是什么属性?

【问题讨论】:

    标签: java ssl certificate jsse


    【解决方案1】:

    从用户界面的角度来看,扩展验证最有用。如果您的客户端在其用户界面中没有任何内容来显示证书,那么它就不那么有用了。这些验证默认没有集成在 JSSE 中,可能是因为对它的需求很少(缺少 Java 浏览器)。 (顺便说一句,您应该验证您在连接时获得的证书,而不是检查第一个连接并连接另一个,以防万一)。

    规范由CA/browser forum定义。

    OID 值和根 CA 证书指纹被硬编码到浏览器中(请参阅security/certverifier/ExtendedValidation.cpp in Firefox, used to be in in security/manager/ssl/src/nsIdentityChecking.cpp)。还有一个 list on Wikipedia 供参考,但原则上您应该检查每个 CA 的策略 OID。

    要分析扩展,如果 X509Certificate.getExtensionValue() 不够,使用 BouncyCastle 可能会很有用。

    您必须注意的一个问题是根 CA 证书的硬编码 SHA-1 指纹需要与信任库中的那些证书完全匹配。在大多数浏览器/操作系统/JRE 附带的捆绑包中,一些 CA 会不时更新其 CA 证书:确保您使用的是相同的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-13
      • 2019-03-29
      • 1970-01-01
      • 2011-04-08
      • 2020-10-12
      • 2010-11-08
      • 2019-06-14
      • 2014-09-24
      相关资源
      最近更新 更多