public abstract class CertStoreSpi extends Object
CertStore class. All CertStore
implementations must include a class (the SPI class) that extends
this class (CertStoreSpi), provides a constructor with
a single argument of type CertStoreParameters, and implements
all of its methods. In general, instances of this class should only be
accessed through the CertStore class.
For details, see the Java Cryptography Architecture.
Concurrent Access
The public methods of all CertStoreSpi objects must be
thread-safe. That is, multiple threads may concurrently invoke these
methods on a single CertStoreSpi object (or more than one)
with no ill effects. This allows a CertPathBuilder to search
for a CRL while simultaneously searching for further certificates, for
instance.
Simple CertStoreSpi implementations will probably ensure
thread safety by adding a synchronized keyword to their
engineGetCertificates and engineGetCRLs methods.
More sophisticated ones may allow truly concurrent access.
- Since:
- 1.4
-
Constructor Summary
Constructors Constructor Description CertStoreSpi(CertStoreParameters params)The sole constructor. -
Method Summary
Modifier and Type Method Description abstract Collection<? extends Certificate>engineGetCertificates(CertSelector selector)Returns aCollectionofCertificates that match the specified selector.abstract Collection<? extends CRL>engineGetCRLs(CRLSelector selector)Returns aCollectionofCRLs that match the specified selector.
-
Constructor Details
-
CertStoreSpi
The sole constructor.- Parameters:
params- the initialization parameters (may benull)- Throws:
InvalidAlgorithmParameterException- if the initialization parameters are inappropriate for thisCertStoreSpi
-
-
Method Details
-
engineGetCertificates
public abstract Collection<? extends Certificate> engineGetCertificates(CertSelector selector) throws CertStoreExceptionReturns aCollectionofCertificates that match the specified selector. If noCertificates match the selector, an emptyCollectionwill be returned.For some
CertStoretypes, the resultingCollectionmay not contain all of theCertificates that match the selector. For instance, an LDAPCertStoremay not search all entries in the directory. Instead, it may just search entries that are likely to contain theCertificates it is looking for.Some
CertStoreimplementations (especially LDAPCertStores) may throw aCertStoreExceptionunless a non-nullCertSelectoris provided that includes specific criteria that can be used to find the certificates. Issuer and/or subject names are especially useful criteria.- Parameters:
selector- ACertSelectorused to select whichCertificates should be returned. Specifynullto return allCertificates (if supported).- Returns:
- A
CollectionofCertificates that match the specified selector (nevernull) - Throws:
CertStoreException- if an exception occurs
-
engineGetCRLs
public abstract Collection<? extends CRL> engineGetCRLs(CRLSelector selector) throws CertStoreExceptionReturns aCollectionofCRLs that match the specified selector. If noCRLs match the selector, an emptyCollectionwill be returned.For some
CertStoretypes, the resultingCollectionmay not contain all of theCRLs that match the selector. For instance, an LDAPCertStoremay not search all entries in the directory. Instead, it may just search entries that are likely to contain theCRLs it is looking for.Some
CertStoreimplementations (especially LDAPCertStores) may throw aCertStoreExceptionunless a non-nullCRLSelectoris provided that includes specific criteria that can be used to find the CRLs. Issuer names and/or the certificate to be checked are especially useful.- Parameters:
selector- ACRLSelectorused to select whichCRLs should be returned. Specifynullto return allCRLs (if supported).- Returns:
- A
CollectionofCRLs that match the specified selector (nevernull) - Throws:
CertStoreException- if an exception occurs
-