Class PKCS8EncodedKeySpec
java.lang.Object
java.security.spec.EncodedKeySpec
java.security.spec.PKCS8EncodedKeySpec
- All Implemented Interfaces:
BinaryEncodablePREVIEW, KeySpec
public non-sealed class PKCS8EncodedKeySpec extends EncodedKeySpec implements BinaryEncodablePREVIEW
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
| Constructor | Description |
|---|---|
PKCS8EncodedKeySpec |
Creates a new PKCS8EncodedKeySpec with the given encoded key. |
PKCS8EncodedKeySpec |
Creates a new PKCS8EncodedKeySpec with the given encoded key and algorithm. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
byte[] |
getEncoded() |
Returns the key bytes, encoded according to the PKCS #8 standard. |
final String |
getFormat() |
Returns the name of the encoding format associated with this key specification. |
Methods declared in class EncodedKeySpec
getAlgorithm | Modifier and Type | Method | Description |
|---|---|---|
String |
getAlgorithm() |
Returns the name of the algorithm of the encoded key. |
Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Modifier and Type | Method | Description |
|---|---|---|
protected Object |
clone() |
Creates and returns a copy of this object. |
boolean |
equals |
Indicates whether some other object is "equal to" this one. |
protected void |
finalize() |
Deprecated, for removal: This API element is subject to removal in a future version. Finalization is deprecated and subject to removal in a future release. |
final Class |
getClass() |
Returns the runtime class of this Object. |
int |
hashCode() |
Returns a hash code value for this object. |
final void |
notify() |
Wakes up a single thread that is waiting on this object's monitor. |
final void |
notifyAll() |
Wakes up all threads that are waiting on this object's monitor. |
String |
toString() |
Returns a string representation of the object. |
final void |
wait() |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
final void |
wait |
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed. |
Constructor Details
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- ifencodedKeyis 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 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
public final String getFormat()
Returns the name of the encoding format associated with this key specification.
- Specified by:
-
getFormatin classEncodedKeySpec - Returns:
- the string
"PKCS#8".
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.