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