java.security.cert
Class CertStoreSpi

java.lang.Object
  |
  +--java.security.cert.CertStoreSpi

public abstract class CertStoreSpi
extends Object

The Service Provider Interface (SPI) for the CertStore class. All CertStore implementations must include a class (the SPI class) that extends this class (CertStoreSpi) 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 getCertificates and getCRLs 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.

The engineInit method should not be called concurrently with any other method nor should multiple threads invoke the engineInit method concurrently on a single CertStoreSpi object. Otherwise, the results are undefined.

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
CertStoreSpi()
          The default constructor.
 
Method Summary
abstract  Collection engineGetCertificates(CertSelector selector)
          Returns a Collection of Certificates that match the specified selector.
abstract  Collection engineGetCRLs(CRLSelector selector)
          Returns a Collection of CRLs that match the specified selector.
abstract  void engineInit(CertStoreParameters params)
          Initializes this CertStore with the specified parameters.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CertStoreSpi

public CertStoreSpi()
The default constructor.
Method Detail

engineInit

public abstract void engineInit(CertStoreParameters params)
                         throws InvalidAlgorithmParameterException
Initializes this CertStore with the specified parameters. The type of parameters needed may vary between different types of CertStores.
Parameters:
params - the algorithm parameters
Throws:
InvalidAlgorithmParameterException - if the given algorithm parameters are inappropriate for this CertStore

engineGetCertificates

public abstract Collection engineGetCertificates(CertSelector selector)
                                          throws CertStoreException
Returns a Collection of Certificates that match the specified selector. If no Certificates match the selector, an empty Collection will be returned.

For some CertStore types, the resulting Collection may not contain all of the Certificates that match the selector. For instance, an LDAP CertStore may not search all entries in the directory. Instead, it may just search entries that are likely to contain the Certificates it is looking for.

Some CertStore implementations (especially LDAP CertStores) may throw a CertStoreException unless a non-null CertSelector 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 - A CertSelector used to select which Certificates should be returned. Specify null to return all Certificates (if supported).
Returns:
A Collection of Certificates that match the specified selector (never null)
Throws:
CertStoreException - if an exception occurs

engineGetCRLs

public abstract Collection engineGetCRLs(CRLSelector selector)
                                  throws CertStoreException
Returns a Collection of CRLs that match the specified selector. If no CRLs match the selector, an empty Collection will be returned.

For some CertStore types, the resulting Collection may not contain all of the CRLs that match the selector. For instance, an LDAP CertStore may not search all entries in the directory. Instead, it may just search entries that are likely to contain the CRLs it is looking for.

Some CertStore implementations (especially LDAP CertStores) may throw a CertStoreException unless a non-null CRLSelector 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 - A CRLSelector used to select which CRLs should be returned. Specify null to return all CRLs (if supported).
Returns:
A Collection of CRLs that match the specified selector (never null)
Throws:
CertStoreException - if an exception occurs


Submit comments/suggestions about this API.
Copyright 1998-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.