java.security.cert

Class CertificateFactorySpi

public abstract class CertificateFactorySpi extends Object

CertificateFactorySpi is the abstract class Service Provider Interface (SPI) for the CertificateFactory class. A provider must implement all the abstract methods if they wish to supply a certificate factory for a particular certificate type. Ex: X.509 Certificate factories are used to generate certificates and certificate revocation lists (CRL) from their encoding.

Since: 1.2

Constructor Summary
CertificateFactorySpi()
Constructs a new CertificateFactorySpi
Method Summary
abstract CertificateengineGenerateCertificate(InputStream inStream)
Generates a Certificate based on the encoded data read from the InputStream.
abstract Collection<? extends Certificate>engineGenerateCertificates(InputStream inStream)
Returns a collection of certificates that were read from the input stream.
CertPathengineGenerateCertPath(InputStream inStream)
Generate a {@link CertPath} and initialize it with data parsed from the input stream.
CertPathengineGenerateCertPath(InputStream inStream, String encoding)
Generate a {@link CertPath} and initialize it with data parsed from the input stream, using the specified encoding.
CertPathengineGenerateCertPath(List<? extends Certificate> certificates)
Generate a {@link CertPath} and initialize it with the certificates in the {@link java.util.List} argument.
abstract CRLengineGenerateCRL(InputStream inStream)
Generates a CRL based on the encoded data read from the InputStream.
abstract Collection<? extends CRL>engineGenerateCRLs(InputStream inStream)
Generates CRLs based on the encoded data read from the InputStream.
Iterator<String>engineGetCertPathEncodings()
Returns an Iterator of CertPath encodings supported by this factory, with the default encoding first.

Constructor Detail

CertificateFactorySpi

public CertificateFactorySpi()
Constructs a new CertificateFactorySpi

Method Detail

engineGenerateCertificate

public abstract Certificate engineGenerateCertificate(InputStream inStream)
Generates a Certificate based on the encoded data read from the InputStream. The input stream must contain only one certificate. If there exists a specialized certificate class for the certificate format handled by the certificate factory then the return Ceritificate should be a typecast of it. Ex: A X.509 CertificateFactory should return X509Certificate. For X.509 certificates, the certificate in inStream must be DER encoded and supplied in binary or printable (Base64) encoding. If the certificate is in Base64 encoding, it must be bounded by -----BEGIN CERTIFICATE-----, and -----END CERTIFICATE-----.

Parameters: inStream an input stream containing the certificate data

Returns: a certificate initialized with InputStream data.

Throws: CertificateException Certificate parsing error

engineGenerateCertificates

public abstract Collection<? extends Certificate> engineGenerateCertificates(InputStream inStream)
Returns a collection of certificates that were read from the input stream. It may be empty, have only one, or have multiple certificates. For a X.509 certificate factory, the stream may contain a single DER encoded certificate or a PKCS#7 certificate chain. This is a PKCS#7 SignedData object with the most significant field being certificates. If no CRLs are present, then an empty collection is returned.

Parameters: inStream an input stream containing the certificates

Returns: a collection of certificates initialized with the InputStream data.

Throws: CertificateException Certificate parsing error

engineGenerateCertPath

public CertPath engineGenerateCertPath(InputStream inStream)
Generate a {@link CertPath} and initialize it with data parsed from the input stream. The default encoding of this factory is used.

Parameters: inStream The InputStream containing the CertPath data.

Returns: A CertPath initialized from the input stream data.

Throws: CertificateException If an error occurs decoding the CertPath.

engineGenerateCertPath

public CertPath engineGenerateCertPath(InputStream inStream, String encoding)
Generate a {@link CertPath} and initialize it with data parsed from the input stream, using the specified encoding.

Parameters: inStream The InputStream containing the CertPath data. encoding The encoding of the InputStream data.

Returns: A CertPath initialized from the input stream data.

Throws: CertificateException If an error occurs decoding the CertPath.

engineGenerateCertPath

public CertPath engineGenerateCertPath(List<? extends Certificate> certificates)
Generate a {@link CertPath} and initialize it with the certificates in the {@link java.util.List} argument.

Parameters: certificates The list of certificates with which to create the CertPath.

Returns: A CertPath initialized from the certificates.

Throws: CertificateException If an error occurs generating the CertPath.

engineGenerateCRL

public abstract CRL engineGenerateCRL(InputStream inStream)
Generates a CRL based on the encoded data read from the InputStream. The input stream must contain only one CRL. If there exists a specialized CRL class for the CRL format handled by the certificate factory then the return CRL should be a typecast of it. Ex: A X.509 CertificateFactory should return X509CRL.

Parameters: inStream an input stream containing the CRL data

Returns: a CRL initialized with InputStream data.

Throws: CRLException CRL parsing error

engineGenerateCRLs

public abstract Collection<? extends CRL> engineGenerateCRLs(InputStream inStream)
Generates CRLs based on the encoded data read from the InputStream. For a X.509 certificate factory, the stream may contain a single DER encoded CRL or a PKCS#7 CRL set. This is a PKCS#7 SignedData object with the most significant field being crls. If no CRLs are present, then an empty collection is returned.

Parameters: inStream an input stream containing the CRLs

Returns: a collection of CRLs initialized with the InputStream data.

Throws: CRLException CRL parsing error

engineGetCertPathEncodings

public Iterator<String> engineGetCertPathEncodings()
Returns an Iterator of CertPath encodings supported by this factory, with the default encoding first. The returned Iterator cannot be modified.

Returns: The Iterator of supported encodings.