Module java.base

Class CertStoreSpi

java.lang.Object
java.security.cert.CertStoreSpi

public abstract class CertStoreSpi extends Object
服务提供者接口SPI)用于 CertStore 类。所有 CertStore 实现必须包括一个类(SPI 类),该类扩展此类(CertStoreSpi),提供一个带有 CertStoreParameters 类型单一参数的构造函数,并实现其所有方法。一般来说,应该只通过 CertStore 类来访问此类的实例。详情请参阅 Java密码体系结构。

并发访问

所有 CertStoreSpi 对象的公共方法必须是线程安全的。也就是说,多个线程可以同时在单个 CertStoreSpi 对象(或多个对象)上调用这些方法而不会产生不良影响。例如,这允许 CertPathBuilder 在搜索证书的同时搜索CRL。

简单的 CertStoreSpi 实现可能通过在它们的 engineGetCertificatesengineGetCRLs 方法中添加 synchronized 关键字来确保线程安全。更复杂的实现可能允许真正的并发访问。

自版本:
1.4
  • Constructor Details

  • Method Details

    • engineGetCertificates

      public abstract Collection<? extends Certificate> engineGetCertificates(CertSelector selector) throws CertStoreException
      返回与指定选择器匹配的 Certificate 集合。如果没有符合选择器的 Certificate,将返回一个空的 Collection

      对于某些 CertStore 类型,结果集可能不包含所有符合选择器的 Certificate。例如,LDAP CertStore 可能不会搜索目录中的所有条目,而只会搜索可能包含它正在寻找的 Certificate 的条目。

      一些 CertStore 实现(特别是LDAP CertStore)可能会抛出 CertStoreException,除非提供一个非空的 CertSelector,其中包含可用于查找证书的特定条件。发行者和/或主题名称是特别有用的条件。

      参数:
      selector - 用于选择应返回哪些 CertificateCertSelector。如果支持,指定 null 以返回所有 Certificate
      返回:
      与指定选择器匹配的 Certificate 集合(永不为 null
      抛出:
      CertStoreException - 如果发生异常
    • engineGetCRLs

      public abstract Collection<? extends CRL> engineGetCRLs(CRLSelector selector) throws CertStoreException
      返回与指定选择器匹配的 CRL 集合。如果没有符合选择器的 CRL,将返回一个空的 Collection

      对于某些 CertStore 类型,结果集可能不包含所有符合选择器的 CRL。例如,LDAP CertStore 可能不会搜索目录中的所有条目,而只会搜索可能包含它正在寻找的 CRL 的条目。

      一些 CertStore 实现(特别是LDAP CertStore)可能会抛出 CertStoreException,除非提供一个非空的 CRLSelector,其中包含可用于查找CRL的特定条件。发行者名称和/或要检查的证书是特别有用的。

      参数:
      selector - 用于选择应返回哪些 CRLCRLSelector。如果支持,指定 null 以返回所有 CRL
      返回:
      与指定选择器匹配的 CRL 集合(永不为 null
      抛出:
      CertStoreException - 如果发生异常