Package eu.emi.security.authn.x509.impl
Class PEMCredential
- java.lang.Object
-
- eu.emi.security.authn.x509.helpers.AbstractDelegatingX509Credential
-
- 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
Constructors Constructor Description PEMCredential(java.io.InputStream keystoreStream, char[] keyPasswd)Constructs the object fromInputStreamwhich can be used to read a private key and certificate in PEM keystore format, i.e.PEMCredential(java.io.InputStream keystoreStream, PasswordSupplier pf)AsPEMCredential(InputStream, char[])but this version allows for providing decryption key only when needed.PEMCredential(java.io.InputStream privateKeyStream, java.io.InputStream certificateStream, char[] keyPasswd)Constructs the object from twoInputStreams which can be used to read a private key and certificate in PEM format.PEMCredential(java.io.InputStream privateKeyStream, java.io.InputStream certificateStream, PasswordSupplier pf)AsPEMCredential(InputStream, InputStream, char[])but password is retrieved on demand.PEMCredential(java.io.Reader privateKeyReader, java.io.Reader certificateReader, char[] keyPasswd)Constructs the object from twoReaders which can be used to read a private key and certificate in PEM format.PEMCredential(java.io.Reader privateKeyReader, java.io.Reader certificateReader, PasswordSupplier pf)AsPEMCredential(Reader, Reader, char[])but password is retrieved on demand.PEMCredential(java.lang.String keystorePath, char[] keyPasswd)Constructs the object fromInputStreamwhich can be used to read a private key and certificate in PEM keystore format, i.e.PEMCredential(java.lang.String keystorePath, PasswordSupplier pf)AsPEMCredential(String, char[])but this version allows for providing decryption key only when needed.PEMCredential(java.lang.String keyPath, java.lang.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
-
-
-
-
Constructor Detail
-
PEMCredential
public PEMCredential(java.lang.String keystorePath, char[] keyPasswd) throws java.io.IOException, java.security.KeyStoreException, java.security.cert.CertificateExceptionConstructs the object fromInputStreamwhich 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. SeeCertificateUtils.loadPEMKeystore(InputStream, char[], char[])for details.- Parameters:
keystorePath- file path with the PEM keystorekeyPasswd- Password used to decrypt the key. May be null if the key is not encrypted.- Throws:
java.io.IOException- if the stream can not be readjava.security.KeyStoreException- if private key can not be parsed or decryptedjava.security.cert.CertificateException- if certificate can not be parsed
-
PEMCredential
public PEMCredential(java.lang.String keystorePath, PasswordSupplier pf) throws java.io.IOException, java.security.KeyStoreException, java.security.cert.CertificateExceptionAsPEMCredential(String, char[])but this version allows for providing decryption key only when needed.- Parameters:
keystorePath- file path with the PEM keystorepf- object to retrieve password on demand.- Throws:
java.io.IOException- if the stream can not be readjava.security.KeyStoreException- if private key can not be parsed or decryptedjava.security.cert.CertificateException- if certificate can not be parsed- Since:
- 1.1.0
-
PEMCredential
public PEMCredential(java.io.InputStream keystoreStream, char[] keyPasswd) throws java.io.IOException, java.security.KeyStoreException, java.security.cert.CertificateExceptionConstructs the object fromInputStreamwhich 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. SeeCertificateUtils.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 keystorekeyPasswd- Password used to decrypt the key. May be null if the key is not encrypted.- Throws:
java.io.IOException- if the stream can not be readjava.security.KeyStoreException- if private key can not be parsed or decryptedjava.security.cert.CertificateException- if certificate can not be parsed
-
PEMCredential
public PEMCredential(java.io.InputStream keystoreStream, PasswordSupplier pf) throws java.io.IOException, java.security.KeyStoreException, java.security.cert.CertificateExceptionAsPEMCredential(InputStream, char[])but this version allows for providing decryption key only when needed.- Parameters:
keystoreStream- InputStream which can be used to read the PEM keystorepf- object to retrieve password on demand.- Throws:
java.io.IOException- if the stream can not be readjava.security.KeyStoreException- if private key can not be parsed or decryptedjava.security.cert.CertificateException- if certificate can not be parsed- Since:
- 1.1.0
-
PEMCredential
public PEMCredential(java.io.InputStream privateKeyStream, java.io.InputStream certificateStream, char[] keyPasswd) throws java.io.IOException, java.security.KeyStoreException, java.security.cert.CertificateExceptionConstructs the object from twoInputStreams 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 formatcertificateStream- certificate in PEM format InputStreamkeyPasswd- Password used to decrypt the key. May be null if the key is not encrypted.- Throws:
java.io.IOException- if any of the streams can not be readjava.security.KeyStoreException- if private key can not be parsed or decryptedjava.security.cert.CertificateException- if certificate can not be parsed
-
PEMCredential
public PEMCredential(java.io.InputStream privateKeyStream, java.io.InputStream certificateStream, PasswordSupplier pf) throws java.io.IOException, java.security.KeyStoreException, java.security.cert.CertificateExceptionAsPEMCredential(InputStream, InputStream, char[])but password is retrieved on demand.- Parameters:
privateKeyStream- InputStream which can be used to read the private key in PEM formatcertificateStream- certificate in PEM format InputStreampf- object to retrieve password on demand.- Throws:
java.io.IOException- if any of the streams can not be readjava.security.KeyStoreException- if private key can not be parsed or decryptedjava.security.cert.CertificateException- if certificate can not be parsed- Since:
- 1.1.0
-
PEMCredential
public PEMCredential(java.io.Reader privateKeyReader, java.io.Reader certificateReader, char[] keyPasswd) throws java.io.IOException, java.security.KeyStoreException, java.security.cert.CertificateExceptionConstructs the object from twoReaders 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 keycertificateReader- certificate file ReaderkeyPasswd- Password used to decrypt the key. May be null if the key is not encrypted.- Throws:
java.io.IOException- if any of files can not be readjava.security.KeyStoreException- if private key can not be parsed or decryptedjava.security.cert.CertificateException- if certificate can not be parsed
-
PEMCredential
public PEMCredential(java.io.Reader privateKeyReader, java.io.Reader certificateReader, PasswordSupplier pf) throws java.io.IOException, java.security.KeyStoreException, java.security.cert.CertificateExceptionAsPEMCredential(Reader, Reader, char[])but password is retrieved on demand.- Parameters:
privateKeyReader- Reader which can be used to read the PEM private keycertificateReader- certificate file Readerpf- object to retrieve password on demand.- Throws:
java.io.IOException- if any of files can not be readjava.security.KeyStoreException- if private key can not be parsed or decryptedjava.security.cert.CertificateException- if certificate can not be parsed- Since:
- 1.1.0
-
PEMCredential
public PEMCredential(java.lang.String keyPath, java.lang.String certificatePath, char[] keyPasswd) throws java.io.IOException, java.security.KeyStoreException, java.security.cert.CertificateExceptionConstructs 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 pathcertificatePath- certificate file pathkeyPasswd- Password used to decrypt the key. May be null if the key is not encrypted.- Throws:
java.io.IOException- if any of files can not be readjava.security.KeyStoreException- if private key can not be parsed or decryptedjava.security.cert.CertificateException- if certificate can not be parsed
-
-