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 aCollection
ofCertificate
s that match the specified selector.abstract Collection<? extends CRL>
engineGetCRLs(CRLSelector selector)
Returns aCollection
ofCRL
s 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 aCollection
ofCertificate
s that match the specified selector. If noCertificate
s match the selector, an emptyCollection
will be returned.For some
CertStore
types, the resultingCollection
may not contain all of theCertificate
s that match the selector. For instance, an LDAPCertStore
may not search all entries in the directory. Instead, it may just search entries that are likely to contain theCertificate
s it is looking for.Some
CertStore
implementations (especially LDAPCertStore
s) may throw aCertStoreException
unless a non-nullCertSelector
is provided that includes specific criteria that can be used to find the certificates. Issuer and/or subject names are especially useful criteria.- Parameters:
selector
- ACertSelector
used to select whichCertificate
s should be returned. Specifynull
to return allCertificate
s (if supported).- Returns:
- A
Collection
ofCertificate
s that match the specified selector (nevernull
) - Throws:
CertStoreException
- if an exception occurs
-
engineGetCRLs
public abstract Collection<? extends CRL> engineGetCRLs(CRLSelector selector) throws CertStoreExceptionReturns aCollection
ofCRL
s that match the specified selector. If noCRL
s match the selector, an emptyCollection
will be returned.For some
CertStore
types, the resultingCollection
may not contain all of theCRL
s that match the selector. For instance, an LDAPCertStore
may not search all entries in the directory. Instead, it may just search entries that are likely to contain theCRL
s it is looking for.Some
CertStore
implementations (especially LDAPCertStore
s) may throw aCertStoreException
unless a non-nullCRLSelector
is 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
- ACRLSelector
used to select whichCRL
s should be returned. Specifynull
to return allCRL
s (if supported).- Returns:
- A
Collection
ofCRL
s that match the specified selector (nevernull
) - Throws:
CertStoreException
- if an exception occurs
-