java.lang.Object java.security.cert.CertStoreSpi
public abstract class CertStoreSpi
CertStore
类的服务提供者接口 (SPI)。所有 CertStore
实现必须包括一个类(SPI 类),该类扩展此类 (CertStoreSpi
) 、提供一个具有单个 CertStoreParameters
类型参数的构造方法,并实现其所有方法。通常,只应通过 CertStore
类来访问此类的实例。有关细节,请参阅 Java Cryptography Architecture。
并发访问
所有 CertStoreSpi
对象的公共方法必须是线程安全的。也就是说,多个线程在单个 CertStoreSpi
对象(或多个对象)上并发调用这些方法而不会产生坏的影响。例如,这就允许 CertPathBuilder
搜索 CRL 的同时搜索其他的证书。
简单的 CertStoreSpi
实现可能会确保线程安全性,方法是向其 engineGetCertificates
和 engineGetCRLs
方法添加 synchronized
关键字。更复杂的实现可能允许真正并发的访问。
构造方法摘要 | |
---|---|
CertStoreSpi(CertStoreParameters params) 唯一的构造方法。 |
方法摘要 | |
---|---|
abstract Collection<? extends Certificate> |
engineGetCertificates(CertSelector selector) 返回与指定选择器匹配的 Certificate 的 Collection 。 |
abstract Collection<? extends CRL> |
engineGetCRLs(CRLSelector selector) 返回与指定选择器匹配的 CRL 的 Collection 。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public CertStoreSpi(CertStoreParameters params) throws InvalidAlgorithmParameterException
params
- 初始化参数(可以为
null
)
InvalidAlgorithmParameterException
- 如果初始化参数不适合此
CertStoreSpi
方法详细信息 |
---|
public abstract Collection<? extends Certificate> engineGetCertificates(CertSelector selector) throws CertStoreException
Certificate
的
Collection
。如果没有与此选择器匹配的
Certificate
,则返回一个空
Collection
。
对于某些 CertStore
类型,得到的 Collection
可能不包含与该选择器匹配的所有 Certificate
。例如,LDAP CertStore
可能不搜索目录中的所有项。相反,它可能只搜索那些很可能包含正要查找的 Certificate
的项。
如果未提供一个包括了用于查找证书的具体标准的非 null CertSelector
,则某些 CertStore
实现(特别是 LDAP CertStore
)可能抛出 CertStoreException
。发布方和/或主体名称是特别有用的标准。
selector
- 用于选择应该返回哪些
Certificate
的
CertSelector。
指定
null
返回所有的
Certificate
(如果受支持的话)。
Certificate
的
Collection
(不会为
null
)
CertStoreException
- 如果出现异常
public abstract Collection<? extends CRL> engineGetCRLs(CRLSelector selector) throws CertStoreException
CRL
的
Collection
。如果没有与此选择器匹配的
CRL
,则返回一个空
Collection
。
对于某些 CertStore
类型,得到的 Collection
可能不包含与该选择器匹配的所有 CRL
。例如,LDAP CertStore
可能不搜索目录中的所有项。相反,它可能只搜索那些很可能包含正要查找的 CRL
的项。
如果未提供一个包括了用于查找 CRL 的具体标准的非 null CRLSelector
,则某些 CertStore
实现(特别是 LDAP CertStore
)可能抛出 CertStoreException
。发布方名称和/或要检查的证书特别有用。
selector
- 用于选择应该返回哪些
CRL
的
CRLSelector
。指定
null
返回所有的
CRL
(如果受支持的话)。
CRL
的
Collection
(不会为
null
)
CertStoreException
- 如果出现异常