APIdia Launch Partner
Top Description Constructors Methods
java.security.spec

public non-sealed Class PKCS8EncodedKeySpec

extends EncodedKeySpec
implements BinaryEncodable
Class Inheritance
All Implemented Interfaces
java.security.BinaryEncodable
Imports
java.security.BinaryEncodable

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
Author
Jan Luehe
Since
1.2
External Specification
https://www.rfc-editor.org/info/rfc5958
See Also
java.security.Key, java.security.KeyFactory, KeySpec, EncodedKeySpec, X509EncodedKeySpec

Constructor Summary

AccessConstructor and Description
public
PKCS8EncodedKeySpec(byte[]
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.
encodedKey
)

Creates a new PKCS8EncodedKeySpec with the given encoded key.

public
PKCS8EncodedKeySpec(byte[]
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.
encodedKey
,
String
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.
algorithm
)

Creates a new PKCS8EncodedKeySpec with the given encoded key and algorithm.

Method Summary

Modifier and TypeMethod and Description
public byte[]

Returns:

the PKCS #8 encoding of the key. Returns a new array each time this method is called.
getEncoded
()

Overrides java.security.spec.EncodedKeySpec.getEncoded.

Returns the key bytes, encoded according to the PKCS #8 standard.

public final String

Returns:

the string "PKCS#8".
getFormat
()

Implements abstract java.security.spec.EncodedKeySpec.getFormat.

Returns the name of the encoding format associated with this key specification.

Inherited from java.security.spec.EncodedKeySpec:
cleargetAlgorithm

Constructor Detail

PKCS8EncodedKeySpecback to summary
public PKCS8EncodedKeySpec(byte[] encodedKey)

Creates a new PKCS8EncodedKeySpec with the given encoded key.

Parameters
encodedKey:byte[]

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.

Exceptions
NullPointerException:
if encodedKey is null.
PKCS8EncodedKeySpecback to summary
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:byte[]

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:String

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.

Exceptions
NullPointerException:
if encodedKey or algorithm is null.
IllegalArgumentException:
if algorithm is the empty string ""
Since
9
External Specification
Java Security Standard Algorithm Names

Method Detail

getEncodedback to summary
public byte[] getEncoded()

Overrides java.security.spec.EncodedKeySpec.getEncoded.

Returns the key bytes, encoded according to the PKCS #8 standard.

Returns:byte[]

the PKCS #8 encoding of the key. Returns a new array each time this method is called.

getFormatback to summary
public final String getFormat()

Implements abstract java.security.spec.EncodedKeySpec.getFormat.

Returns the name of the encoding format associated with this key specification.

Returns:String

the string "PKCS#8".