CertStore (Java 2 Platform SE v1.4.1_"07")

Overview | Package | Class | Use | Tree | Deprecated | Index | Help

JavaTM 2 Platform
Std. Ed. v1.4.1_"07"

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.security.cert
Class CertStore

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

public class CertStore
extends Object

A class for retrieving `Certificate`s and `CRL`s from a repository.

This class uses a provider-based architecture, as described in the Java Cryptography Architecture. To create a `CertStore`, call one of the static `getInstance` methods, passing in the type of `CertStore` desired, any applicable initialization parameters and optionally the name of the provider desired.

Once the `CertStore` has been created, it can be used to retrieve `Certificate`s and `CRL`s by calling its `getCertificates` and `getCRLs` methods.

Unlike a `KeyStore`, which provides access to a cache of private keys and trusted certificates, a `CertStore` is designed to provide access to a potentially vast repository of untrusted certificates and CRLs. For example, an LDAP implementation of `CertStore` provides access to certificates and CRLs stored in one or more directories using the LDAP protocol and the schema as defined in the RFC service attribute. See Appendix A in the Java Certification Path API Programmer's Guide for more information about standard `CertStore` types.

Concurrent Access

All public methods of `CertStore` objects must be thread-safe. That is, multiple threads may concurrently invoke these methods on a single `CertStore` 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 static methods of this class are also guaranteed to be thread-safe. Multiple threads may concurrently invoke the static methods defined in this class with no ill effects.

Since:
  1.4

Constructor Summary
`protected` | `CertStore(CertStoreSpi storeSpi, Provider provider, String type, CertStoreParameters params)` Creates a `CertStore` object of the given type, and encapsulates the given provider implementation (SPI object) in it.

Method Summary
`Collection` | `getCertificates(CertSelector selector)` Returns a `Collection` of `Certificate`s that match the specified selector.
`CertStoreParameters` | `getCertStoreParameters()` Returns the parameters used to initialize this `CertStore`.
`Collection` | `getCRLs(CRLSelector selector)` Returns a `Collection` of `CRL`s that match the specified selector.
`static String` | `getDefaultType()` Returns the default `CertStore` type as specified in the Java security properties file, or the string "LDAP" if no such property exists.
`static CertStore` | `getInstance(String type, CertStoreParameters params)` Returns a `CertStore` object that implements the specified `CertStore` type and is initialized with the specified parameters.
`static CertStore` | `getInstance(String type, CertStoreParameters params, Provider provider)` Returns a `CertStore` object that implements the specified `CertStore` type, as supplied by the specified provider and initialized with the specified parameters.
`static CertStore` | `getInstance(String type, CertStoreParameters params, String provider)` Returns a `CertStore` object that implements the specified `CertStore` type, as supplied by the specified provider and initialized with the specified parameters.
`Provider` | `getProvider()` Returns the provider of this `CertStore`.
`String` | `getType()` Returns the type of this `CertStore`.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### CertStore

    protected CertStore(CertStoreSpi storeSpi,
                        Provider provider,
                        String type,
                        CertStoreParameters params)

  Creates a `CertStore` object of the given type, and encapsulates the given provider implementation (SPI object) in it.

Parameters:
  `storeSpi` - the provider implementation
  `provider` - the provider
  `type` - the type
  `params` - the initialization parameters (may be `null`)

Method Detail

### getCertificates

    public final Collection getCertificates(CertSelector selector)
                                     throws CertStoreException

  Returns a `Collection` of `Certificate`s that match the specified selector. If no `Certificate`s match the selector, an empty `Collection` will be returned.

  For some `CertStore` types, the resulting `Collection` may not contain all of the `Certificate`s 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 `Certificate`s it is looking for.

  Some `CertStore` implementations (especially LDAP `CertStore`s) 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 `Certificate`s should be returned. Specify `null` to return all `Certificate`s (if supported).
  Returns:
    A `Collection` of `Certificate`s that match the specified selector (never `null`)
  Throws:
    `CertStoreException` - if an exception occurs

### getCRLs

    public final Collection getCRLs(CRLSelector selector)
                             throws CertStoreException

  Returns a `Collection` of `CRL`s that match the specified selector. If no `CRL`s match the selector, an empty `Collection` will be returned.

  For some `CertStore` types, the resulting `Collection` may not contain all of the `CRL`s 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 `CRL`s it is looking for.

  Some `CertStore` implementations (especially LDAP `CertStore`s) 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 `CRL`s should be returned. Specify `null` to return all `CRL`s (if supported).
  Returns:
    A `Collection` of `CRL`s that match the specified selector (never `null`)
  Throws:
    `CertStoreException` - if an exception occurs

### getInstance

    public static CertStore getInstance(String type,
                                        CertStoreParameters params)
                                 throws InvalidAlgorithmParameterException,
                                        NoSuchAlgorithmException

  Returns a `CertStore` object that implements the specified `CertStore` type and is initialized with the specified parameters.

  If the default provider package provides an implementation of the specified `CertStore` type, an instance of `CertStore` containing that implementation is returned. If the requested type is not available in the default package, other packages are searched.

  The `CertStore` that is returned is initialized with the specified `CertStoreParameters`. The type of parameters needed may vary between different types of `CertStore`s. Note that the specified `CertStoreParameters` object is cloned.

  Parameters:
    `type` - the name of the requested `CertStore` type
    `params` - the initialization parameters (may be `null`)
  Returns:
    a `CertStore` object that implements the specified `CertStore` type
  Throws:
    `NoSuchAlgorithmException` - if the requested type is not available in the default provider package or any of the other provider packages that were searched
    `InvalidAlgorithmParameterException` - if the specified initialization parameters are inappropriate for this `CertStore`

### getInstance

    public static CertStore getInstance(String type,
                                        CertStoreParameters params,
                                        String provider)
                                 throws InvalidAlgorithmParameterException,
                                        NoSuchAlgorithmException,
                                        NoSuchProviderException

  Returns a `CertStore` object that implements the specified `CertStore` type, as supplied by the specified provider and initialized with the specified parameters.

  The `CertStore` that is returned is initialized with the specified `CertStoreParameters`. The type of parameters needed may vary between different types of `CertStore`s. Note that the specified `CertStoreParameters` object is cloned.

  Parameters:
    `type` - the requested `CertStore` type
    `params` - the initialization parameters (may be `null`)
    `provider` - the name of the provider
  Returns:
    a `CertStore` object that implements the specified type, as supplied by the specified provider
  Throws:
    `NoSuchAlgorithmException` - if the requested type is not available from the specified provider
    `InvalidAlgorithmParameterException` - if the specified initialization parameters are inappropriate for this `CertStore`
    `NoSuchProviderException` - if the provider has not been configured
    `IllegalArgumentException` - if the `provider` is null

### getInstance

    public static CertStore getInstance(String type,
                                        CertStoreParameters params,
                                        Provider provider)
                                 throws NoSuchAlgorithmException,
                                        InvalidAlgorithmParameterException

  Returns a `CertStore` object that implements the specified `CertStore` type, as supplied by the specified provider and initialized with the specified parameters. Note: the `provider` doesn't have to be registered.

  The `CertStore` that is returned is initialized with the specified `CertStoreParameters`. The type of parameters needed may vary between different types of `CertStore`s. Note that the specified `CertStoreParameters` object is cloned.

  Parameters:
    `type` - the requested `CertStore` type
    `params` - the initialization parameters (may be `null`)
    `provider` - the provider
  Returns:
    a `CertStore` object that implements the specified type, as supplied by the specified provider
  Throws:
    `NoSuchAlgorithmException` - if the requested type is not available from the specified provider
    `InvalidAlgorithmParameterException` - if the specified initialization parameters are inappropriate for this `CertStore`
    `IllegalArgumentException` - if the `provider` is null

### getCertStoreParameters

    public final CertStoreParameters getCertStoreParameters()

  Returns the parameters used to initialize this `CertStore`. Note that the `CertStoreParameters` object is cloned before it is returned.

  Returns:
    the parameters used to initialize this `CertStore` (may be `null`)

### getType

    public final String getType()

  Returns the type of this `CertStore`.

  Returns:
    the type of this `CertStore`

### getProvider

    public final Provider getProvider()

  Returns the provider of this `CertStore`.

  Returns:
    the provider of this `CertStore`

### getDefaultType

    public static final String getDefaultType()

  Returns the default `CertStore` type as specified in the Java security properties file, or the string "LDAP" if no such property exists. The Java security properties file is located in the file named <JAVA_HOME>/lib/security/java.security, where <JAVA_HOME> refers to the directory where the SDK was installed.

  The default `CertStore` type can be used by applications that do not want to use a hard-coded type when calling one of the `getInstance` methods, and want to provide a default `CertStore` type in case a user does not specify its own.

  The default `CertStore` type can be changed by setting the value of the "certstore.type" security property (in the Java security properties file) to the desired type.

  Returns:
    the default `CertStore` type as specified in the Java security properties file, or the string "LDAP" if no such property exists.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help

JavaTM 2 Platform
Std. Ed. v1.4.1_"07"

PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.