Module java.base

Class PKIXRevocationChecker

java.lang.Object
java.security.cert.PKIXCertPathChecker
java.security.cert.PKIXRevocationChecker
所有已实现的接口:
Cloneable, CertPathChecker

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

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

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

通过调用PKIX CertPathValidatorgetRevocationChecker方法获取PKIXRevocationChecker。可以设置特定于吊销的附加参数和选项(例如调用setOcspResponder方法)。使用addCertPathCheckersetCertPathCheckers方法将PKIXRevocationChecker添加到PKIXParameters对象,然后将PKIXParameters与要验证的CertPath一起传递给PKIX CertPathValidatorvalidate方法。以这种方式提供吊销检查器时,将使用它来检查吊销,而不管RevocationEnabled标志的设置如何,并且将覆盖PKIX服务提供程序的默认吊销检查机制。类似地,PKIXRevocationChecker可以添加到PKIXBuilderParameters对象中,以供PKIX CertPathBuilder使用。

请注意,当将PKIXRevocationChecker添加到PKIXParameters时,它会克隆PKIXRevocationChecker;因此,对PKIXRevocationChecker的任何后续修改都不会生效。

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

并发访问

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

自Java版本:
1.8
参见:
  • Constructor Details

    • PKIXRevocationChecker

      protected PKIXRevocationChecker()
      默认构造函数。
  • Method Details

    • setOcspResponder

      public void setOcspResponder(URI uri)
      设置标识OCSP响应者位置的URI。这将覆盖ocsp.responderURL安全属性以及证书的Authority Information Access Extension中指定的任何响应者,如RFC 5280中定义。
      参数:
      uri - 响应者URI
    • getOcspResponder

      public URI getOcspResponder()
      获取标识OCSP响应者位置的URI。这将覆盖ocsp.responderURL安全属性。如果未设置此参数或ocsp.responderURL属性,则位置将根据证书的Authority Information Access Extension中指定的方式确定,如RFC 5280中定义。
      返回:
      响应者URI,如果未设置则返回null
    • setOcspResponderCert

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

      public X509Certificate getOcspResponderCert()
      获取OCSP响应者的证书。这将覆盖ocsp.responderCertSubjectNameocsp.responderCertIssuerNameocsp.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的实现负责将被忽略的异常添加到列表中。

      返回:
      包含被忽略异常的不可修改列表。如果未忽略任何异常,则列表为空。
    • clone

      public PKIXRevocationChecker clone()
      从类中复制的描述: PKIXCertPathChecker
      返回此对象的克隆。调用Object.clone()方法。所有维护状态的子类必须支持并覆盖此方法,如果必要的话。
      覆盖:
      clone 在类 PKIXCertPathChecker
      返回:
      PKIXCertPathChecker的副本
      参见: