Stay organized with collections
Save and categorize content based on your preferences.
PKCS8EncodedKeySpec
open class PKCS8EncodedKeySpec : 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
Summary
Public constructors |
Creates a new PKCS8EncodedKeySpec with the given encoded key.
|
Creates a new PKCS8EncodedKeySpec with the given encoded key and algorithm.
|
Public methods |
open ByteArray! |
Returns the key bytes, encoded according to the PKCS #8 standard.
|
String! |
Returns the name of the encoding format associated with this key specification.
|
Public constructors
PKCS8EncodedKeySpec
PKCS8EncodedKeySpec(encodedKey: ByteArray!)
Creates a new PKCS8EncodedKeySpec
with the given encoded key.
Parameters |
encodedKey |
ByteArray!: 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 |
java.lang.NullPointerException |
if encodedKey is null. |
PKCS8EncodedKeySpec
PKCS8EncodedKeySpec(
encodedKey: ByteArray!,
algorithm: String!)
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 |
ByteArray!: 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 KeyFactory section in the Java Security Standard Algorithm Names Specification for information about standard algorithm names. |
Exceptions |
java.lang.NullPointerException |
if encodedKey or algorithm is null. |
java.lang.IllegalArgumentException |
if algorithm is the empty string "" |
Public methods
getEncoded
open fun getEncoded(): ByteArray!
Returns the key bytes, encoded according to the PKCS #8 standard.
Return |
ByteArray! |
the PKCS #8 encoding of the key. Returns a new array each time this method is called. |
fun getFormat(): String!
Returns the name of the encoding format associated with this key specification.
Return |
String! |
the string "PKCS#8" . |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-02-10 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-02-10 UTC."],[],[],null,["# PKCS8EncodedKeySpec\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)\n\nPKCS8EncodedKeySpec\n===================\n\n```\nopen class PKCS8EncodedKeySpec : EncodedKeySpec\n```\n\n|---|---|---------------------------------------------|\n| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html) |||\n| ↳ | [java.security.spec.EncodedKeySpec](/reference/kotlin/java/security/spec/EncodedKeySpec) ||\n| | ↳ | [java.security.spec.PKCS8EncodedKeySpec](#) |\n\nThis 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: \n\n```kotlin\nPrivateKeyInfo ::= SEQUENCE {\n version Version,\n privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,\n privateKey PrivateKey,\n attributes [0] IMPLICIT Attributes OPTIONAL }\n \n Version ::= INTEGER\n \n PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier\n \n PrivateKey ::= OCTET STRING\n \n Attributes ::= SET OF Attribute\n \n```\n\n\u003cbr /\u003e\n\nSummary\n-------\n\n| Public constructors ||\n|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|\n| [PKCS8EncodedKeySpec](#PKCS8EncodedKeySpec(kotlin.ByteArray))`(`encodedKey:` `[ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)!`)` Creates a new `PKCS8EncodedKeySpec` with the given encoded key. |\n| [PKCS8EncodedKeySpec](#PKCS8EncodedKeySpec(kotlin.ByteArray,%20kotlin.String))`(`encodedKey:` `[ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)!`, `algorithm:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!`)` Creates a new `PKCS8EncodedKeySpec` with the given encoded key and algorithm. |\n\n| Public methods ||\n|-----------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|\n| open [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)! | [getEncoded](#getEncoded())`()` Returns the key bytes, encoded according to the PKCS #8 standard. |\n| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)! | [getFormat](#getFormat())`()` Returns the name of the encoding format associated with this key specification. |\n\n| Inherited functions ||\n|---|---|\n| From class [EncodedKeySpec](/reference/kotlin/java/security/spec/EncodedKeySpec) |-----------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------| | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)! | [getAlgorithm](/reference/kotlin/java/security/spec/EncodedKeySpec#getAlgorithm())`()` Returns the name of the algorithm of the encoded key. \u003cbr /\u003e | ||\n\nPublic constructors\n-------------------\n\n### PKCS8EncodedKeySpec\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nPKCS8EncodedKeySpec(encodedKey: ByteArray!)\n```\n\nCreates a new `PKCS8EncodedKeySpec` with the given encoded key.\n\n| Parameters ||\n|--------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `encodedKey` | [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)!: 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. |\n\n| Exceptions ||\n|----------------------------------|--------------------------|\n| `java.lang.NullPointerException` | if `encodedKey` is null. |\n\n### PKCS8EncodedKeySpec\n\nAdded in [API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nPKCS8EncodedKeySpec(\n encodedKey: ByteArray!, \n algorithm: String!)\n```\n\nCreates 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.\n\n| Parameters ||\n|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `encodedKey` | [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)!: 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. |\n| `algorithm` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)!: the algorithm name of the encoded private key See the KeyFactory section in the [Java Security Standard Algorithm Names Specification](https://docs.oracle.com/en/java/javase/17/docs/specs/security/standard-names.html#keyfactory-algorithms) for information about standard algorithm names. |\n\n| Exceptions ||\n|--------------------------------------|-----------------------------------------|\n| `java.lang.NullPointerException` | if `encodedKey` or `algorithm` is null. |\n| `java.lang.IllegalArgumentException` | if `algorithm` is the empty string `\"\"` |\n\nPublic methods\n--------------\n\n### getEncoded\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nopen fun getEncoded(): ByteArray!\n```\n\nReturns the key bytes, encoded according to the PKCS #8 standard.\n\n| Return ||\n|------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------|\n| [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)! | the PKCS #8 encoding of the key. Returns a new array each time this method is called. |\n\n### getFormat\n\nAdded in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels) \n\n```\nfun getFormat(): String!\n```\n\nReturns the name of the encoding format associated with this key specification.\n\n| Return ||\n|-----------------------------------------------------------------------------------|------------------------|\n| [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)! | the string `\"PKCS#8\"`. |"]]