Class PKCS8EncodedKeySpec
java.lang.Object
java.security.spec.EncodedKeySpec
java.security.spec.PKCS8EncodedKeySpec
- All Implemented Interfaces:
DEREncodablePREVIEW, KeySpec
This class represents the ASN.1 encoding of a private key,
encoded according to the ASN.1 type
OneAsymmetricKey.
The OneAsymmetricKey syntax is defined in the PKCS#8 standard
as follows:
OneAsymmetricKey ::= SEQUENCE {
version Version,
privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
privateKey PrivateKey,
attributes [0] Attributes OPTIONAL,
...,
[[2: publicKey [1] PublicKey OPTIONAL ]],
...
}
PrivateKeyInfo ::= OneAsymmetricKey
Version ::= INTEGER { v1(0), v2(1) }
PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
PrivateKey ::= OCTET STRING
PublicKey ::= BIT STRING
Attributes ::= SET OF Attribute
- Since:
- 1.2
- External Specifications
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionPKCS8EncodedKeySpec(byte[] encodedKey) Creates a newPKCS8EncodedKeySpecwith the given encoded key.PKCS8EncodedKeySpec(byte[] encodedKey, String algorithm) Creates a newPKCS8EncodedKeySpecwith the given encoded key and algorithm. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]Returns the key bytes, encoded according to the PKCS #8 standard.final StringReturns the name of the encoding format associated with this key specification.Methods declared in class EncodedKeySpec
getAlgorithm
-
Constructor Details
-
PKCS8EncodedKeySpec
public PKCS8EncodedKeySpec(byte[] encodedKey) Creates a newPKCS8EncodedKeySpecwith the given encoded key.- Parameters:
encodedKey- the key, which is assumed to be encoded according to the PKCS #8 standard. The contents of the array are copied to protect against subsequent modification.- Throws:
NullPointerException- ifencodedKeyis null.
-
PKCS8EncodedKeySpec
Creates a newPKCS8EncodedKeySpecwith the given encoded key and algorithm. This constructor is useful when subsequent callers of thePKCS8EncodedKeySpecobject might not know the algorithm of the private key.- Parameters:
encodedKey- the key, which is assumed to be encoded according to the PKCS #8 standard. The contents of the array are copied to protect against subsequent modification.algorithm- the algorithm name of the encoded private key. See the AsymmetricKey Algorithms section in the Java Security Standard Algorithm Names Specification for information about standard asymmetric key algorithm names.- Throws:
NullPointerException- ifencodedKeyoralgorithmis null.IllegalArgumentException- ifalgorithmis the empty string""- Since:
- 9
- External Specifications
-
-
Method Details
-
getEncoded
public byte[] getEncoded()Returns the key bytes, encoded according to the PKCS #8 standard.- Overrides:
getEncodedin classEncodedKeySpec- Returns:
- the PKCS #8 encoding of the key. Returns a new array each time this method is called.
-
getFormat
Returns the name of the encoding format associated with this key specification.- Specified by:
getFormatin classEncodedKeySpec- Returns:
- the string
"PKCS#8".
-