Class PKCS8EncodedKeySpec
- java.lang.Object
-
- java.security.spec.EncodedKeySpec
-
- java.security.spec.PKCS8EncodedKeySpec
- All Implemented Interfaces:
KeySpec
public class PKCS8EncodedKeySpec extends EncodedKeySpec
This class represents the ASN.1 encoding of a private key, encoded according to the ASN.1 type PrivateKeyInfo
. The PrivateKeyInfo
syntax is defined in the PKCS#8 standard as follows:
PrivateKeyInfo ::= SEQUENCE { version Version, privateKeyAlgorithm PrivateKeyAlgorithmIdentifier, privateKey PrivateKey, attributes [0] IMPLICIT Attributes OPTIONAL } Version ::= INTEGER PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier PrivateKey ::= OCTET STRING Attributes ::= SET OF Attribute
- Since:
- 1.2
- See Also:
-
Key
,KeyFactory
,KeySpec
,EncodedKeySpec
,X509EncodedKeySpec
Constructor Summary
Constructor | Description |
---|---|
PKCS8EncodedKeySpec(byte[] encodedKey) | Creates a new |
PKCS8EncodedKeySpec(byte[] encodedKey,
String algorithm) | Creates a new |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
byte[] | getEncoded() | Returns the key bytes, encoded according to the PKCS #8 standard. |
String | getFormat() | Returns the name of the encoding format associated with this key specification. |
Methods declared in class java.security.spec.EncodedKeySpec
getAlgorithm
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Constructor Detail
PKCS8EncodedKeySpec
public PKCS8EncodedKeySpec(byte[] encodedKey)
Creates a new PKCS8EncodedKeySpec
with 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
- ifencodedKey
is null.
PKCS8EncodedKeySpec
public PKCS8EncodedKeySpec(byte[] encodedKey, String algorithm)
Creates a new PKCS8EncodedKeySpec
with the given encoded key and algorithm. This constructor is useful when subsequent callers of the PKCS8EncodedKeySpec
object 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 KeyFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names. - Throws:
-
NullPointerException
- ifencodedKey
oralgorithm
is null. -
IllegalArgumentException
- ifalgorithm
is the empty string""
- Since:
- 9
Method Detail
getEncoded
public byte[] getEncoded()
Returns the key bytes, encoded according to the PKCS #8 standard.
- Overrides:
-
getEncoded
in classEncodedKeySpec
- Returns:
- the PKCS #8 encoding of the key. Returns a new array each time this method is called.
getFormat
public final String getFormat()
Returns the name of the encoding format associated with this key specification.
- Specified by:
-
getFormat
in classEncodedKeySpec
- Returns:
- the string
"PKCS#8"
.