java.security.cert

接口
异常
java.lang.Object
  继承者 java.security.cert.CertStoreSpi

public abstract class CertStoreSpi
     
extends Object

CertStore 类的服务提供者接口 (SPI)。所有 CertStore 实现必须包括一个类(SPI 类),该类扩展此类 (CertStoreSpi) 、提供一个具有单个 CertStoreParameters 类型参数的构造方法,并实现其所有方法。通常,只应通过 CertStore 类来访问此类的实例。有关细节,请参阅 Java Cryptography Architecture。

并发访问

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

简单的 CertStoreSpi 实现可能会确保线程安全性,方法是向其 engineGetCertificatesengineGetCRLs 方法添加 synchronized 关键字。更复杂的实现可能允许真正并发的访问。

从以下版本开始:
1.4

构造方法摘要
CertStoreSpi(CertStoreParameters params)
          唯一的构造方法。
 
方法摘要
abstract  Collection<? extends Certificate> engineGetCertificates(CertSelector selector)
          返回与指定选择器匹配的 CertificateCollection
abstract  Collection<? extends CRL> engineGetCRLs(CRLSelector selector)
          返回与指定选择器匹配的 CRLCollection
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

CertStoreSpi

public CertStoreSpi(CertStoreParameters params)
             throws InvalidAlgorithmParameterException
唯一的构造方法。

参数:
params - 初始化参数(可以为 null
抛出:
InvalidAlgorithmParameterException - 如果初始化参数不适合此 CertStoreSpi
方法详细信息

engineGetCertificates

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

对于某些 CertStore 类型,得到的 Collection 可能不包含与该选择器匹配的所有 Certificate。例如,LDAP CertStore 可能不搜索目录中的所有项。相反,它可能只搜索那些很可能包含正要查找的 Certificate 的项。

如果未提供一个包括了用于查找证书的具体标准的非 null CertSelector,则某些 CertStore 实现(特别是 LDAP CertStore)可能抛出 CertStoreException。发布方和/或主体名称是特别有用的标准。

参数:
selector - 用于选择应该返回哪些 CertificateCertSelector。指定 null 返回所有的 Certificate(如果受支持的话)。
返回:
与指定选择器匹配的 CertificateCollection(不会为 null
抛出:
CertStoreException - 如果出现异常

engineGetCRLs

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

对于某些 CertStore 类型,得到的 Collection 可能不包含与该选择器匹配的所有 CRL。例如,LDAP CertStore 可能不搜索目录中的所有项。相反,它可能只搜索那些很可能包含正要查找的 CRL 的项。

如果未提供一个包括了用于查找 CRL 的具体标准的非 null CRLSelector,则某些 CertStore 实现(特别是 LDAP CertStore)可能抛出 CertStoreException。发布方名称和/或要检查的证书特别有用。

参数:
selector - 用于选择应该返回哪些 CRLCRLSelector。指定 null 返回所有的 CRL(如果受支持的话)。
返回:
与指定选择器匹配的 CRLCollection(不会为 null
抛出:
CertStoreException - 如果出现异常