PKCS8EncodedKeySpec (Java SE 9 & JDK 9 ) (original) (raw)
- java.security.spec.EncodedKeySpec
- java.security.spec.PKCS8EncodedKeySpec
All Implemented Interfaces:
[KeySpec](../../../java/security/spec/KeySpec.html "interface in java.security.spec")
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
Constructors
Constructor Description PKCS8EncodedKeySpec(byte[] encodedKey) Creates a new PKCS8EncodedKeySpec with the given encoded key. PKCS8EncodedKeySpec(byte[] encodedKey,String algorithm) Creates a new PKCS8EncodedKeySpec with the given encoded key and algorithm. Method Summary
All Methods Instance Methods Concrete Methods
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 inherited from class java.security.spec.[EncodedKeySpec](../../../java/security/spec/EncodedKeySpec.html "class in java.security.spec") `[getAlgorithm](../../../java/security/spec/EncodedKeySpec.html#getAlgorithm--)` * ### Methods inherited from class java.lang.[Object](../../../java/lang/Object.html "class in java.lang") `[clone](../../../java/lang/Object.html#clone--), [equals](../../../java/lang/Object.html#equals-java.lang.Object-), [finalize](../../../java/lang/Object.html#finalize--), [getClass](../../../java/lang/Object.html#getClass--), [hashCode](../../../java/lang/Object.html#hashCode--), [notify](../../../java/lang/Object.html#notify--), [notifyAll](../../../java/lang/Object.html#notifyAll--), [toString](../../../java/lang/Object.html#toString--), [wait](../../../java/lang/Object.html#wait--), [wait](../../../java/lang/Object.html#wait-long-), [wait](../../../java/lang/Object.html#wait-long-int-)`
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](../../../java/lang/NullPointerException.html "class in java.lang")` \- if `encodedKey` is null. * #### PKCS8EncodedKeySpec public PKCS8EncodedKeySpec(byte[] encodedKey, [String](../../../java/lang/String.html "class in java.lang") 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](../../../../specs/security/standard-names.html#keyfactory-algorithms) for information about standard algorithm names. Throws: `[NullPointerException](../../../java/lang/NullPointerException.html "class in java.lang")` \- if `encodedKey` or `algorithm` is null. `[IllegalArgumentException](../../../java/lang/IllegalArgumentException.html "class in java.lang")` \- if `algorithm` 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](../../../java/security/spec/EncodedKeySpec.html#getEncoded--)` in class `[EncodedKeySpec](../../../java/security/spec/EncodedKeySpec.html "class in java.security.spec")` Returns: the PKCS #8 encoding of the key. Returns a new array each time this method is called. * #### getFormat public final [String](../../../java/lang/String.html "class in java.lang") getFormat() Returns the name of the encoding format associated with this key specification. Specified by: `[getFormat](../../../java/security/spec/EncodedKeySpec.html#getFormat--)` in class `[EncodedKeySpec](../../../java/security/spec/EncodedKeySpec.html "class in java.security.spec")` Returns: the string `"PKCS#8"`.
Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2017, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.