Package com.amazonaws.auth
Enum PEM
- All Implemented Interfaces:
Serializable
,Comparable<PEM>
,java.lang.constant.Constable
A PEM utility that can be used to read keys from PEM. With this PEM utility,
private keys in either PKCS#1 or PKCS#8 PEM encoded format can be read
without the need to depend on the Bouncy Castle library.
Some background information:
- Interestingly, the creation of a CloudFront Key Pair via the AWS console would result in a private key in PKCS#1 PEM format.
- Unfortunately, the JDK doesn't provide a means to load PEM key encoded in PKCS#1 without adding the Bouncy Castle to the classpath. The JDK can only load PEM key encoded in PKCS#8 encoding.
- One the other hand, one can use openssl to convert a PEM file from PKCS#1
to PKCS#8. Example:
openssl pkcs8 -topk8 -in pk-APKAJM22QV32R3I2XVIQ.pem -inform pem -out pk-APKAJM22QV32R3I2XVIQ_pk8.pem -outform pem -nocrypt
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Enum
Enum.EnumDesc<E extends Enum<E>>
-
Method Summary
Modifier and TypeMethodDescriptionA lower level API used to returns all PEM objects that can be read off from the input stream of a PEM file.static PrivateKey
Returns the first private key that is found from the input stream of a PEM file.static PublicKey
Returns the first public key that is found from the input stream of a PEM file.static PEM
Returns the enum constant of this type with the specified name.static PEM[]
values()
Returns an array containing the constants of this enum type, in the order they are declared.
-
Method Details
-
values
Returns an array containing the constants of this enum type, in the order they are declared.- Returns:
- an array containing the constants of this enum type, in the order they are declared
-
valueOf
Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)- Parameters:
name
- the name of the enum constant to be returned.- Returns:
- the enum constant with the specified name
- Throws:
IllegalArgumentException
- if this enum type has no constant with the specified nameNullPointerException
- if the argument is null
-
readPrivateKey
Returns the first private key that is found from the input stream of a PEM file.- Throws:
InvalidKeySpecException
- if failed to convert the DER bytes into a private key.IllegalArgumentException
- if no private key is found.IOException
-
readPublicKey
Returns the first public key that is found from the input stream of a PEM file.- Throws:
InvalidKeySpecException
- if failed to convert the DER bytes into a public key.IllegalArgumentException
- if no public key is found.IOException
-
readPEMObjects
A lower level API used to returns all PEM objects that can be read off from the input stream of a PEM file.This method can be useful if more than one PEM object of different types are embedded in the same PEM file.
- Throws:
IOException
-