模块  java.base
软件包  java.security.cert

Class 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
    • 方法详细信息

      • engineGetCertificates

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

        对于某些CertStore类型,生成的Collection可能不包含与选择器匹配的所有 Certificate 例如,LDAP CertStore可能无法搜索目录中的所有条目。 相反,它可能只搜索可能包含它正在寻找的Certificate的条目。

        除非提供包含可用于查找证书的特定条件的非null CertSelector否则某些CertStore实现(尤其是LDAP CertStore )可能会抛出CertStoreException 发行人和/或主题名称是特别有用的标准。

        参数
        selector -一个CertSelector用来选择Certificate应该返回。 指定null以返回所有Certificate (如果支持)。
        结果
        Collection of Certificate s与指定的选择器匹配(从不 null
        异常
        CertStoreException - 如果发生异常
      • engineGetCRLs

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

        对于某些CertStore类型,生成的Collection可能不包含与选择器匹配的所有 CRL 例如,LDAP CertStore可能无法搜索目录中的所有条目。 相反,它可能只搜索可能包含它正在寻找的CRL的条目。

        除非提供包含可用于查找CRL的特定条件的非null CRLSelector否则某些CertStore实现(尤其是LDAP CertStore )可能会抛出CertStoreException 颁发者名称和/或要检查的证书特别有用。

        参数
        selector -一个CRLSelector用来选择CRL应该返回。 指定null以返回所有CRL (如果支持)。
        结果
        Collection of CRL s与指定的选择器匹配(从不 null
        异常
        CertStoreException - 如果发生异常