eu.emi.security.authn.x509.impl
Class PEMCredential

java.lang.Object
  extended by eu.emi.security.authn.x509.helpers.AbstractDelegatingX509Credential
      extended by eu.emi.security.authn.x509.impl.PEMCredential
All Implemented Interfaces:
X509Credential

public class PEMCredential
extends AbstractDelegatingX509Credential

Wraps certificate and private key stored in PEM format.

Author:
K. Benedyczak

Field Summary
 
Fields inherited from class eu.emi.security.authn.x509.helpers.AbstractDelegatingX509Credential
delegate
 
Constructor Summary
PEMCredential(InputStream keystoreStream, char[] keyPasswd)
          Constructs the object from InputStream which can be used to read a private key and certificate in PEM keystore format, i.e.
PEMCredential(InputStream privateKeyStream, InputStream certificateStream, char[] keyPasswd)
          Constructs the object from two InputStreams which can be used to read a private key and certificate in PEM format.
PEMCredential(InputStream privateKeyStream, InputStream certificateStream, PasswordFinder pf)
          As PEMCredential(InputStream, InputStream, char[]) but password is retrieved on demand.
PEMCredential(InputStream keystoreStream, PasswordFinder pf)
          As PEMCredential(InputStream, char[]) but this version allows for providing decryption key only when needed.
PEMCredential(Reader privateKeyReader, Reader certificateReader, char[] keyPasswd)
          Constructs the object from two Readers which can be used to read a private key and certificate in PEM format.
PEMCredential(Reader privateKeyReader, Reader certificateReader, PasswordFinder pf)
          As PEMCredential(Reader, Reader, char[]) but password is retrieved on demand.
PEMCredential(String keystorePath, char[] keyPasswd)
          Constructs the object from InputStream which can be used to read a private key and certificate in PEM keystore format, i.e.
PEMCredential(String keystorePath, PasswordFinder pf)
          As PEMCredential(String, char[]) but this version allows for providing decryption key only when needed.
PEMCredential(String keyPath, String certificatePath, char[] keyPasswd)
          Constructs the object from two files containing private key and certificate in PEM format.
 
Method Summary
 
Methods inherited from class eu.emi.security.authn.x509.helpers.AbstractDelegatingX509Credential
getCertificate, getCertificateChain, getKey, getKeyAlias, getKeyManager, getKeyPassword, getKeyStore, getSubjectName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PEMCredential

public PEMCredential(String keystorePath,
                     char[] keyPasswd)
              throws IOException,
                     KeyStoreException,
                     CertificateException
Constructs the object from InputStream which can be used to read a private key and certificate in PEM keystore format, i.e. the file must contain both certificates and a private key. See CertificateUtils.loadPEMKeystore(InputStream, char[], char[]) for details.

Parameters:
keystorePath - file path with the PEM keystore
keyPasswd - Password used to decrypt the key. May be null if the key is not encrypted.
Throws:
IOException - if the stream can not be read
KeyStoreException - if private key can not be parsed or decrypted
CertificateException - if certificate can not be parsed

PEMCredential

public PEMCredential(String keystorePath,
                     PasswordFinder pf)
              throws IOException,
                     KeyStoreException,
                     CertificateException
As PEMCredential(String, char[]) but this version allows for providing decryption key only when needed.

Parameters:
keystorePath - file path with the PEM keystore
pf - object to retrieve password on demand.
Throws:
IOException - if the stream can not be read
KeyStoreException - if private key can not be parsed or decrypted
CertificateException - if certificate can not be parsed
Since:
1.1.0

PEMCredential

public PEMCredential(InputStream keystoreStream,
                     char[] keyPasswd)
              throws IOException,
                     KeyStoreException,
                     CertificateException
Constructs the object from InputStream which can be used to read a private key and certificate in PEM keystore format, i.e. the file must contain both certificates and a private key. See CertificateUtils.loadPEMKeystore(InputStream, char[], char[]) for details.

The stream is closed after constructing the object.

Parameters:
keystoreStream - InputStream which can be used to read the PEM keystore
keyPasswd - Password used to decrypt the key. May be null if the key is not encrypted.
Throws:
IOException - if the stream can not be read
KeyStoreException - if private key can not be parsed or decrypted
CertificateException - if certificate can not be parsed

PEMCredential

public PEMCredential(InputStream keystoreStream,
                     PasswordFinder pf)
              throws IOException,
                     KeyStoreException,
                     CertificateException
As PEMCredential(InputStream, char[]) but this version allows for providing decryption key only when needed.

Parameters:
keystoreStream - InputStream which can be used to read the PEM keystore
pf - object to retrieve password on demand.
Throws:
IOException - if the stream can not be read
KeyStoreException - if private key can not be parsed or decrypted
CertificateException - if certificate can not be parsed
Since:
1.1.0

PEMCredential

public PEMCredential(InputStream privateKeyStream,
                     InputStream certificateStream,
                     char[] keyPasswd)
              throws IOException,
                     KeyStoreException,
                     CertificateException
Constructs the object from two InputStreams which can be used to read a private key and certificate in PEM format.

The streams are closed after constructing the object.

Parameters:
privateKeyStream - InputStream which can be used to read the private key in PEM format
certificateStream - certificate in PEM format InputStream
keyPasswd - Password used to decrypt the key. May be null if the key is not encrypted.
Throws:
IOException - if any of the streams can not be read
KeyStoreException - if private key can not be parsed or decrypted
CertificateException - if certificate can not be parsed

PEMCredential

public PEMCredential(InputStream privateKeyStream,
                     InputStream certificateStream,
                     PasswordFinder pf)
              throws IOException,
                     KeyStoreException,
                     CertificateException
As PEMCredential(InputStream, InputStream, char[]) but password is retrieved on demand.

Parameters:
privateKeyStream - InputStream which can be used to read the private key in PEM format
certificateStream - certificate in PEM format InputStream
pf - object to retrieve password on demand.
Throws:
IOException - if any of the streams can not be read
KeyStoreException - if private key can not be parsed or decrypted
CertificateException - if certificate can not be parsed
Since:
1.1.0

PEMCredential

public PEMCredential(Reader privateKeyReader,
                     Reader certificateReader,
                     char[] keyPasswd)
              throws IOException,
                     KeyStoreException,
                     CertificateException
Constructs the object from two Readers which can be used to read a private key and certificate in PEM format.

The streams are closed after constructing the object.

Parameters:
privateKeyReader - Reader which can be used to read the PEM private key
certificateReader - certificate file Reader
keyPasswd - Password used to decrypt the key. May be null if the key is not encrypted.
Throws:
IOException - if any of files can not be read
KeyStoreException - if private key can not be parsed or decrypted
CertificateException - if certificate can not be parsed

PEMCredential

public PEMCredential(Reader privateKeyReader,
                     Reader certificateReader,
                     PasswordFinder pf)
              throws IOException,
                     KeyStoreException,
                     CertificateException
As PEMCredential(Reader, Reader, char[]) but password is retrieved on demand.

Parameters:
privateKeyReader - Reader which can be used to read the PEM private key
certificateReader - certificate file Reader
pf - object to retrieve password on demand.
Throws:
IOException - if any of files can not be read
KeyStoreException - if private key can not be parsed or decrypted
CertificateException - if certificate can not be parsed
Since:
1.1.0

PEMCredential

public PEMCredential(String keyPath,
                     String certificatePath,
                     char[] keyPasswd)
              throws IOException,
                     KeyStoreException,
                     CertificateException
Constructs the object from two files containing private key and certificate in PEM format.

The streams are closed after constructing the object.

Parameters:
keyPath - private key file path
certificatePath - certificate file path
keyPasswd - Password used to decrypt the key. May be null if the key is not encrypted.
Throws:
IOException - if any of files can not be read
KeyStoreException - if private key can not be parsed or decrypted
CertificateException - if certificate can not be parsed


Copyright © 2012-2013 European Middleware Initiative. All Rights Reserved.