java.lang.Object
java.security.cert.CertStoreSpi
服务提供者接口(SPI)用于
CertStore
类。所有 CertStore
实现必须包括一个类(SPI 类),该类扩展此类(CertStoreSpi
),提供一个带有 CertStoreParameters
类型单一参数的构造函数,并实现其所有方法。一般来说,应该只通过 CertStore
类来访问此类的实例。详情请参阅 Java密码体系结构。
并发访问
所有 CertStoreSpi
对象的公共方法必须是线程安全的。也就是说,多个线程可以同时在单个 CertStoreSpi
对象(或多个对象)上调用这些方法而不会产生不良影响。例如,这允许 CertPathBuilder
在搜索证书的同时搜索CRL。
简单的 CertStoreSpi
实现可能通过在它们的 engineGetCertificates
和 engineGetCRLs
方法中添加 synchronized
关键字来确保线程安全。更复杂的实现可能允许真正的并发访问。
- 自版本:
- 1.4
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract Collection
<? extends Certificate> engineGetCertificates
(CertSelector selector) 返回与指定选择器匹配的Certificate
集合。abstract Collection
<? extends CRL> engineGetCRLs
(CRLSelector selector) 返回与指定选择器匹配的CRL
集合。
-
Constructor Details
-
CertStoreSpi
唯一的构造函数。- 参数:
-
params
- 初始化参数(可以为null
) - 抛出:
-
InvalidAlgorithmParameterException
- 如果初始化参数不适用于此CertStoreSpi
-
-
Method Details
-
engineGetCertificates
public abstract Collection<? extends Certificate> engineGetCertificates(CertSelector selector) throws CertStoreException 返回与指定选择器匹配的Certificate
集合。如果没有符合选择器的Certificate
,将返回一个空的Collection
。对于某些
CertStore
类型,结果集可能不包含所有符合选择器的Certificate
。例如,LDAPCertStore
可能不会搜索目录中的所有条目,而只会搜索可能包含它正在寻找的Certificate
的条目。一些
CertStore
实现(特别是LDAPCertStore
)可能会抛出CertStoreException
,除非提供一个非空的CertSelector
,其中包含可用于查找证书的特定条件。发行者和/或主题名称是特别有用的条件。- 参数:
-
selector
- 用于选择应返回哪些Certificate
的CertSelector
。如果支持,指定null
以返回所有Certificate
。 - 返回:
-
与指定选择器匹配的
Certificate
集合(永不为null
) - 抛出:
-
CertStoreException
- 如果发生异常
-
engineGetCRLs
public abstract Collection<? extends CRL> engineGetCRLs(CRLSelector selector) throws CertStoreException 返回与指定选择器匹配的CRL
集合。如果没有符合选择器的CRL
,将返回一个空的Collection
。对于某些
CertStore
类型,结果集可能不包含所有符合选择器的CRL
。例如,LDAPCertStore
可能不会搜索目录中的所有条目,而只会搜索可能包含它正在寻找的CRL
的条目。一些
CertStore
实现(特别是LDAPCertStore
)可能会抛出CertStoreException
,除非提供一个非空的CRLSelector
,其中包含可用于查找CRL的特定条件。发行者名称和/或要检查的证书是特别有用的。- 参数:
-
selector
- 用于选择应返回哪些CRL
的CRLSelector
。如果支持,指定null
以返回所有CRL
。 - 返回:
-
与指定选择器匹配的
CRL
集合(永不为null
) - 抛出:
-
CertStoreException
- 如果发生异常
-