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 fromInputStream
which 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 twoInputStream
s 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 twoReader
s 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 fromInputStream
which 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.CertificateException
Constructs the object fromInputStream
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. 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.CertificateException
AsPEMCredential(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.CertificateException
Constructs the object fromInputStream
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. 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.CertificateException
AsPEMCredential(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.CertificateException
Constructs the object from twoInputStream
s 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.CertificateException
AsPEMCredential(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.CertificateException
Constructs the object from twoReader
s 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.CertificateException
AsPEMCredential(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.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 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
-
-