Module  java.base
软件包  java.security.cert

Class PKIXRevocationChecker

  • All Implemented Interfaces:
    CloneableCertPathChecker


    public abstract class PKIXRevocationChecker
    extends PKIXCertPathChecker
    A PKIXCertPathChecker用于使用PKIX算法检查证书的撤销状态。

    A PKIXRevocationChecker使用在线证书状态协议(OCSP)或证书吊销列表(CRL)检查证书的撤销状态。 OCSP在RFC 2560中描述,并且是用于确定证书状态的网络协议。 CRL是标识撤销证书的时间戳列表,RFC 5280描述了一种使用CRL确定证书撤销状态的算法。

    每个PKIXRevocationChecker必须能够使用OCSP和CRL来检查证书的撤销状态。 默认情况下,OCSP是检查撤销状态的首选机制,CRL作为备用机制。 但是,可以使用PREFER_CRLS选项将此首选项切换到CRL。 此外,可以使用NO_FALLBACK选项禁用回退机制。

    A PKIXRevocationChecker是通过调用PKIX CertPathValidatorgetRevocationChecker方法获得的。 可以设置特定于吊销的其他参数和选项(例如通过调用setOcspResponder方法)。 所述PKIXRevocationChecker加入到PKIXParameters使用对象addCertPathCheckersetCertPathCheckers方法,然后将PKIXParameters与一起传递CertPath进行验证到validate一个PKIX的方法CertPathValidator 当以这种方式提供撤销检查器时,将用于检查撤销,而不管RevocationEnabled标志的设置。 类似地,可以将PKIXRevocationChecker添加到用于PKIX CertPathBuilderPKIXBuilderParameters对象中。

    注意,当一个PKIXRevocationChecker被添加到PKIXParameters ,它克隆了PKIXRevocationChecker ; 因此任何对PKIXRevocationChecker后续修改都没有效果。

    任何未设置的参数(或设置为null )将被设置为该参数的默认值。

    并发访问

    除非另有说明,否则此类中定义的方法不是线程安全的。 需要同时访问单个对象的多个线程应在其间同步并提供必要的锁定。 每个操作单独对象的多个线程不需要同步。

    从以下版本开始:
    1.8
    另请参见:
    RFC 2560: X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP
    RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
    • 构造方法详细信息

      • PKIXRevocationChecker

        protected PKIXRevocationChecker​()
        默认构造函数。
    • 方法详细信息

      • setOcspResponder

        public void setOcspResponder​(URI uri)
        设置标识OCSP响应器位置的URI。 这将覆盖ocsp.responderURL安全属性以及在证书授权信息访问扩展中指定的任何响应者,如RFC 5280中所定义。
        参数
        uri - 响应者URI
      • getOcspResponder

        public URI getOcspResponder​()
        获取标识OCSP响应器位置的URI。 这覆盖了ocsp.responderURL安全属性。 如果此参数或ocsp.responderURL属性未设置,则该位置由RFC 5280中定义的证书的权限信息访问扩展确定。
        结果
        响应者URI,如果没有设置, null
      • setOcspResponderCert

        public void setOcspResponderCert​(X509Certificate cert)
        设置OCSP响应者的证书。 这将覆盖ocsp.responderCertSubjectNameocsp.responderCertIssuerName ,并ocsp.responderCertSerialNumber安全属性。
        参数
        cert - 答复者的证书
      • getOcspResponderCert

        public X509Certificate getOcspResponderCert​()
        获取OCSP响应者的证书。 这将覆盖ocsp.responderCertSubjectNameocsp.responderCertIssuerName ,并ocsp.responderCertSerialNumber安全属性。 如果此参数或上述属性未设置,则响应者的证书按照RFC 2560中的规定确定。
        结果
        应答者的证书,或 null如果没有设置
      • setOcspExtensions

        public void setOcspExtensions​(List<Extension> extensions)
        设置可选的OCSP请求扩展。
        参数
        extensions - 扩展名单。 该列表被复制以防止后续修改。
      • getOcspExtensions

        public List<Extension> getOcspExtensions​()
        获取可选的OCSP请求扩展。
        结果
        一个不可修改的扩展名单。 如果没有指定扩展名,列表为空。
      • setOcspResponses

        public void setOcspResponses​(Map<X509Certificate,byte[]> responses)
        设置OCSP响应。 当使用OCSP时,这些响应用于确定指定证书的吊销状态。
        参数
        responses - OCSP响应图。 每个密钥是一个X509Certificate ,映射到该证书的相应的DER编码的OCSP响应。 执行地图的深层副本以防止后续修改。
      • getOcspResponses

        public Map<X509Certificate,byte[]> getOcspResponses​()
        获得OCSP响应。 当使用OCSP时,这些响应用于确定指定证书的吊销状态。
        结果
        OCSP响应图。 每个密钥是一个X509Certificate ,映射到该证书的相应的DER编码的OCSP响应。 返回地图的深层副本以防止后续修改。 如果未指定任何响应,则返回空的地图。
      • setOptions

        public void setOptions​(Set<PKIXRevocationChecker.Option> options)
        设置撤销选项。
        参数
        options - 一组撤销选项。 该集合被复制以防止后续修改。
      • getOptions

        public Set<PKIXRevocationChecker.Option> getOptions​()
        获取吊销选项。
        结果
        一套不可修改的撤销选择。 如果未指定任何选项,则该集合为空。
      • getSoftFailExceptions

        public abstract List<CertPathValidatorException> getSoftFailExceptions​()
        返回一个列表,其中包含当设置了SOFT_FAIL选项时撤销检查器忽略的异常。 每次调用init清单。 列表按照每个条目的getIndex方法返回的证书索引按升序排列。

        PKIXRevocationChecker的实现负责将忽略的例外添加到列表中。

        结果
        一个包含被忽略的异常的不可修改的列表。 如果没有忽略异常,列表为空。