模块  java.base
软件包  java.security.cert

Class PKIXRevocationChecker

  • 实现的所有接口
    CloneableCertPathChecker

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

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

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

    PKIXRevocationChecker通过调用获得getRevocationChecker一个PKIX的方法CertPathValidator 可以设置特定于撤销的附加参数和选项(例如,通过调用setOcspResponder方法)。 使用addCertPathCheckersetCertPathCheckers方法将PKIXRevocationChecker添加到PKIXParameters对象,然后将PKIXParametersCertPath一起传递以验证PKIX CertPathValidatorvalidate方法。 以这种方式提供撤销检查程序时,无论RevocationEnabled标志的设置如何,它都将用于检查撤销。 类似地,可以将PKIXRevocationChecker添加到PKIXBuilderParameters对象以与PKIX CertPathBuilder

    请注意,当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的实现负责将忽略的异常添加到列表中。

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