- java.lang.Object
-
- java.security.cert.CertStoreSpi
-
public abstract class CertStoreSpi extends Object
The Service Provider Interface (SPI) for theCertStoreclass. AllCertStoreimplementations must include a class (the SPI class) that extends this class (CertStoreSpi), provides a constructor with a single argument of typeCertStoreParameters, and implements all of its methods. In general, instances of this class should only be accessed through theCertStoreclass. For details, see the Java Cryptography Architecture.Concurrent Access
The public methods of all
CertStoreSpiobjects must be thread-safe. That is, multiple threads may concurrently invoke these methods on a singleCertStoreSpiobject (or more than one) with no ill effects. This allows aCertPathBuilderto search for a CRL while simultaneously searching for further certificates, for instance.Simple
CertStoreSpiimplementations will probably ensure thread safety by adding asynchronizedkeyword to theirengineGetCertificatesandengineGetCRLsmethods. More sophisticated ones may allow truly concurrent access.- Since:
- 1.4
-
-
Constructor Summary
Constructors Constructor Description CertStoreSpi(CertStoreParameters params)The sole constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods 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 Detail
-
CertStoreSpi
public CertStoreSpi(CertStoreParameters params) throws InvalidAlgorithmParameterException
The sole constructor.- Parameters:
params- the initialization parameters (may benull)- Throws:
InvalidAlgorithmParameterException- if the initialization parameters are inappropriate for thisCertStoreSpi
-
-
Method Detail
-
engineGetCertificates
public abstract Collection<? extends Certificate> engineGetCertificates(CertSelector selector) throws CertStoreException
Returns 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 CertStoreException
Returns 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
-
-