Package org.jclouds.crypto
Class Pems
- java.lang.Object
-
- org.jclouds.crypto.Pems
-
@Beta public class Pems extends Object
Reads and writes PEM encoded Strings and Streams
-
-
Field Summary
Fields Modifier and Type Field Description static String
CERTIFICATE_X509_MARKER
static String
PRIVATE_PKCS1_MARKER
static String
PRIVATE_PKCS8_MARKER
static String
PROC_TYPE_ENCRYPTED
static String
PUBLIC_PKCS1_MARKER
static String
PUBLIC_X509_MARKER
-
Constructor Summary
Constructors Constructor Description Pems()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> T
fromPem(com.google.common.io.ByteSource supplier, org.jclouds.crypto.Pems.PemProcessor<T> processor)
Returns the object of generic typeT
that is pem encoded in the supplier.static String
pem(X509Certificate cert)
encodes theX509Certificate
to PEM format.static String
pem(PrivateKey key)
encodes thePrivateKey
to PEM format.static String
pem(PublicKey key)
encodes thePublicKey
to PEM format.static KeySpec
privateKeySpec(com.google.common.io.ByteSource supplier)
Returns theRSAPrivateKeySpec
that is pem encoded in the supplier.static KeySpec
privateKeySpec(String pem)
ExecutesprivateKeySpec(ByteSource)
on the string which contains an encoded private key in PEM format.static KeySpec
publicKeySpec(com.google.common.io.ByteSource supplier)
Returns theKeySpec
that is pem encoded in the supplier.static KeySpec
publicKeySpec(String pem)
ExecutespublicKeySpec(ByteSource)
on the string which contains an encoded public key in PEM format.static X509Certificate
x509Certificate(com.google.common.io.ByteSource supplier, CertificateFactory certFactory)
Returns theX509EncodedKeySpec
that is pem encoded in the supplier.static X509Certificate
x509Certificate(String pem)
Executesx509Certificate(ByteSource, CertificateFactory)
on the string which contains an X.509 certificate in PEM format.
-
-
-
Field Detail
-
PRIVATE_PKCS1_MARKER
public static final String PRIVATE_PKCS1_MARKER
- See Also:
- Constant Field Values
-
PRIVATE_PKCS8_MARKER
public static final String PRIVATE_PKCS8_MARKER
- See Also:
- Constant Field Values
-
CERTIFICATE_X509_MARKER
public static final String CERTIFICATE_X509_MARKER
- See Also:
- Constant Field Values
-
PUBLIC_X509_MARKER
public static final String PUBLIC_X509_MARKER
- See Also:
- Constant Field Values
-
PUBLIC_PKCS1_MARKER
public static final String PUBLIC_PKCS1_MARKER
- See Also:
- Constant Field Values
-
PROC_TYPE_ENCRYPTED
public static final String PROC_TYPE_ENCRYPTED
- See Also:
- Constant Field Values
-
-
Method Detail
-
fromPem
public static <T> T fromPem(com.google.common.io.ByteSource supplier, org.jclouds.crypto.Pems.PemProcessor<T> processor) throws IOException
Returns the object of generic typeT
that is pem encoded in the supplier.- Parameters:
supplier
- the input stream factorymarker
- header that begins the PEM blockprocessor
- how to parser the object from a byte array- Returns:
- the object of generic type
T
which was PEM encoded in the stream - Throws:
IOException
- if an I/O error occurs
-
privateKeySpec
public static KeySpec privateKeySpec(com.google.common.io.ByteSource supplier) throws IOException
Returns theRSAPrivateKeySpec
that is pem encoded in the supplier.- Parameters:
supplier
- the input stream factory- Returns:
- the
RSAPrivateKeySpec
which was PEM encoded in the stream - Throws:
IOException
- if an I/O error occurs
-
privateKeySpec
public static KeySpec privateKeySpec(String pem)
ExecutesprivateKeySpec(ByteSource)
on the string which contains an encoded private key in PEM format.- Parameters:
pem
- private key in pem encoded format.- See Also:
privateKeySpec(ByteSource)
-
publicKeySpec
public static KeySpec publicKeySpec(com.google.common.io.ByteSource supplier) throws IOException
Returns theKeySpec
that is pem encoded in the supplier.- Parameters:
supplier
- the input stream factory- Returns:
- the
KeySpec
which was PEM encoded in the stream - Throws:
IOException
- if an I/O error occurs
-
publicKeySpec
public static KeySpec publicKeySpec(String pem) throws IOException
ExecutespublicKeySpec(ByteSource)
on the string which contains an encoded public key in PEM format.- Parameters:
pem
- public key in pem encoded format.- Throws:
IOException
- See Also:
publicKeySpec(ByteSource)
-
x509Certificate
public static X509Certificate x509Certificate(com.google.common.io.ByteSource supplier, @Nullable CertificateFactory certFactory) throws IOException, CertificateException
Returns theX509EncodedKeySpec
that is pem encoded in the supplier.- Parameters:
supplier
- the input stream factorycertFactory
- or null to use default- Returns:
- the
X509EncodedKeySpec
which was PEM encoded in the stream - Throws:
IOException
- if an I/O error occursCertificateException
-
x509Certificate
public static X509Certificate x509Certificate(String pem) throws IOException, CertificateException
Executesx509Certificate(ByteSource, CertificateFactory)
on the string which contains an X.509 certificate in PEM format.- Parameters:
pem
- certificate in pem encoded format.- Throws:
IOException
CertificateException
- See Also:
x509Certificate(ByteSource, CertificateFactory)
-
pem
public static String pem(X509Certificate cert) throws CertificateEncodingException
encodes theX509Certificate
to PEM format.- Parameters:
cert
- what to encode- Returns:
- the PEM encoded certificate
- Throws:
IOException
CertificateEncodingException
-
pem
public static String pem(PrivateKey key)
encodes thePrivateKey
to PEM format.
-
-