当前位置: 首页 > 知识库问答 >
问题:

我应该使用哪个Java API来实现OCSP支持的证书验证?

常乐
2023-03-14

存在两个java api引用:

>

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

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

    在第一个中,有一个关于X509TrustManager接口的描述。我糊涂了。我应该使用它来实现x509证书验证还是必须通过第二个链接?这是我达到目标的标准方法

  • 共有1个答案

    尉迟正平
    2023-03-14

    第二个链接提供了有关CertPath类的文档如何实现您自己的认证路径验证。因此,您必须自己处理整个PKI证书链(例如,验证签名和证书直至根)。此外,它还为您提供了PKIX证书验证的默认算法的信息。

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

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

    如果使用init(KeyStore ks)方法,则使用默认的PKIXParameters,但取消检查被禁用。可以通过将系统属性com.sun.net.ssl.check撤销设置为true来启用它。

    您必须将安全属性ocsp.enable设置为true。所以基本上,你没有更多的事要做了

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

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

     类似资料:
    • 我有一个客户端anger-js应用程序。我有一个服务器端nodejs应用程序接口。客户端和服务器端应用程序位于不同的域上。客户端使用API获取或发布一些数据。客户端还需要从服务器端获取图像并在浏览器中显示它们。 我使用护照nodejs模块进行身份验证。我不知道哪种身份验证策略更适合我。我认为有两种类型的身份验证策略:基于令牌的和基于cookie的。我认为这两种类型在我的情况下都没用: > < li

    • 我对PKI的世界是新的,一般的证书。我正在写一个服务,需要验证证书链。 感谢所有的指示和帮助提前。感激不尽。 致以最诚挚的问候

    • 我想使用OCSP检查证书,这是来自服务器在TLS握手。 我使用Bouncy Castle作为OCSP实现的提供者,而BC验证方法一般需要X509Certificate作为参数。

    • 问题内容: JSR 275似乎处于拒绝状态。JScience似乎有一个实现,并且似乎有一个计量单位。 还有其他开源实现吗? 哪个软件包符合jsr-275且易于使用。 问题答案: 由于JSR-275已被拒绝,因此无法使用javax名称空间,并已由名称空间org.unitsofmeasurement代替。该JScience落实已经发布,最新的在写这篇文章的是4.3.1版本在2012年10月。干杯,Je

    • 问题内容: 从JavaDocs: 一的ConcurrentLinkedQueue是当许多线程共享访问一个共同的集合一个合适的选择。此队列不允许空元素。 ArrayBlockingQueue是一个经典的“有界缓冲区”,其中固定大小的数组保存由生产者插入并由消费者提取的元素。此类支持可选的公平性策略,用于订购正在等待的生产者和使用者线程 与基于阵列的队列相比,LinkedBlockingQueue通常