EncryptedPrivateKeyInfo
open class EncryptedPrivateKeyInfo
kotlin.Any | |
↳ | javax.crypto.EncryptedPrivateKeyInfo |
This class implements the EncryptedPrivateKeyInfo
type as defined in PKCS #8.
Its ASN.1 definition is as follows:
EncryptedPrivateKeyInfo ::= SEQUENCE { encryptionAlgorithm AlgorithmIdentifier, encryptedData OCTET STRING } AlgorithmIdentifier ::= SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL }
Summary
Public constructors | |
---|---|
EncryptedPrivateKeyInfo(encoded: ByteArray!) Constructs (i.e., parses) an |
|
EncryptedPrivateKeyInfo(algName: String!, encryptedData: ByteArray!) Constructs an |
|
EncryptedPrivateKeyInfo(algParams: AlgorithmParameters!, encryptedData: ByteArray!) Constructs an |
Public methods | |
---|---|
open String! |
Returns the encryption algorithm. |
open AlgorithmParameters! |
Returns the algorithm parameters used by the encryption algorithm. |
open ByteArray! |
Returns the ASN. |
open ByteArray! |
Returns the encrypted data. |
open PKCS8EncodedKeySpec! |
getKeySpec(decryptKey: Key!) Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it. |
open PKCS8EncodedKeySpec! |
getKeySpec(decryptKey: Key!, providerName: String!) Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it. |
open PKCS8EncodedKeySpec! |
getKeySpec(decryptKey: Key!, provider: Provider!) Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it. |
open PKCS8EncodedKeySpec! |
getKeySpec(cipher: Cipher!) Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it. |
Public constructors
EncryptedPrivateKeyInfo
EncryptedPrivateKeyInfo(encoded: ByteArray!)
Constructs (i.e., parses) an EncryptedPrivateKeyInfo
from its ASN.1 encoding.
Parameters | |
---|---|
encoded |
ByteArray!: the ASN.1 encoding of this object. The contents of the array are copied to protect against subsequent modification. |
Exceptions | |
---|---|
java.lang.NullPointerException |
if the encoded is null. |
java.io.IOException |
if error occurs when parsing the ASN.1 encoding. |
EncryptedPrivateKeyInfo
EncryptedPrivateKeyInfo(
algName: String!,
encryptedData: ByteArray!)
Constructs an EncryptedPrivateKeyInfo
from the encryption algorithm name and the encrypted data.
Note: This constructor will use null as the value of the algorithm parameters. If the encryption algorithm has parameters whose value is not null, a different constructor, e.g. EncryptedPrivateKeyInfo(AlgorithmParameters, byte[]), should be used.
Parameters | |
---|---|
algName |
String!: encryption algorithm name. See Appendix A in the Java Cryptography Architecture Reference Guide for information about standard Cipher algorithm names. |
encryptedData |
ByteArray!: encrypted data. The contents of encrypedData are copied to protect against subsequent modification when constructing this object. |
Exceptions | |
---|---|
java.lang.NullPointerException |
if algName or encryptedData is null. |
java.lang.IllegalArgumentException |
if encryptedData is empty, i.e. 0-length. |
java.security.NoSuchAlgorithmException |
if the specified algName is not supported. |
EncryptedPrivateKeyInfo
EncryptedPrivateKeyInfo(
algParams: AlgorithmParameters!,
encryptedData: ByteArray!)
Constructs an EncryptedPrivateKeyInfo
from the encryption algorithm parameters and the encrypted data.
Parameters | |
---|---|
algParams |
AlgorithmParameters!: the algorithm parameters for the encryption algorithm. algParams.getEncoded() should return the ASN.1 encoded bytes of the parameters field of the AlgorithmIdentifer component of the EncryptedPrivateKeyInfo type. |
encryptedData |
ByteArray!: encrypted data. The contents of encrypedData are copied to protect against subsequent modification when constructing this object. |
Exceptions | |
---|---|
java.lang.NullPointerException |
if algParams or encryptedData is null. |
java.lang.IllegalArgumentException |
if encryptedData is empty, i.e. 0-length. |
java.security.NoSuchAlgorithmException |
if the specified algName of the specified algParams parameter is not supported. |
Public methods
getAlgName
open fun getAlgName(): String!
Returns the encryption algorithm.
Note: Standard name is returned instead of the specified one in the constructor when such mapping is available. See Appendix A in the Java Cryptography Architecture Reference Guide for information about standard Cipher algorithm names.
Return | |
---|---|
String! |
the encryption algorithm name. |
getAlgParameters
open fun getAlgParameters(): AlgorithmParameters!
Returns the algorithm parameters used by the encryption algorithm.
Return | |
---|---|
AlgorithmParameters! |
the algorithm parameters. |
getEncoded
open fun getEncoded(): ByteArray!
Returns the ASN.1 encoding of this object.
Return | |
---|---|
ByteArray! |
the ASN.1 encoding. Returns a new array each time this method is called. |
Exceptions | |
---|---|
java.io.IOException |
if error occurs when constructing its ASN.1 encoding. |
getEncryptedData
open fun getEncryptedData(): ByteArray!
Returns the encrypted data.
Return | |
---|---|
ByteArray! |
the encrypted data. Returns a new array each time this method is called. |
getKeySpec
open fun getKeySpec(decryptKey: Key!): PKCS8EncodedKeySpec!
Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.
Parameters | |
---|---|
decryptKey |
Key!: key used for decrypting the encrypted data. |
Return | |
---|---|
PKCS8EncodedKeySpec! |
the PKCS8EncodedKeySpec object. |
Exceptions | |
---|---|
java.lang.NullPointerException |
if decryptKey is null. |
java.security.NoSuchAlgorithmException |
if cannot find appropriate cipher to decrypt the encrypted data. |
java.security.InvalidKeyException |
if decryptKey cannot be used to decrypt the encrypted data or the decryption result is not a valid PKCS8KeySpec. |
getKeySpec
open fun getKeySpec(
decryptKey: Key!,
providerName: String!
): PKCS8EncodedKeySpec!
Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.
Parameters | |
---|---|
decryptKey |
Key!: key used for decrypting the encrypted data. |
providerName |
String!: the name of provider whose Cipher implementation will be used. |
Return | |
---|---|
PKCS8EncodedKeySpec! |
the PKCS8EncodedKeySpec object. |
Exceptions | |
---|---|
java.lang.NullPointerException |
if decryptKey or providerName is null. |
java.security.NoSuchProviderException |
if no provider providerName is registered. |
java.security.NoSuchAlgorithmException |
if cannot find appropriate cipher to decrypt the encrypted data. |
java.security.InvalidKeyException |
if decryptKey cannot be used to decrypt the encrypted data or the decryption result is not a valid PKCS8KeySpec. |
getKeySpec
open fun getKeySpec(
decryptKey: Key!,
provider: Provider!
): PKCS8EncodedKeySpec!
Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.
Parameters | |
---|---|
decryptKey |
Key!: key used for decrypting the encrypted data. |
provider |
Provider!: the name of provider whose Cipher implementation will be used. |
Return | |
---|---|
PKCS8EncodedKeySpec! |
the PKCS8EncodedKeySpec object. |
Exceptions | |
---|---|
java.lang.NullPointerException |
if decryptKey or provider is null. |
java.security.NoSuchAlgorithmException |
if cannot find appropriate cipher to decrypt the encrypted data in provider . |
java.security.InvalidKeyException |
if decryptKey cannot be used to decrypt the encrypted data or the decryption result is not a valid PKCS8KeySpec. |
getKeySpec
open fun getKeySpec(cipher: Cipher!): PKCS8EncodedKeySpec!
Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.
Note: In order to successfully retrieve the enclosed PKCS8EncodedKeySpec object, cipher
needs to be initialized to either Cipher.DECRYPT_MODE or Cipher.UNWRAP_MODE, with the same key and parameters used for generating the encrypted data.
Parameters | |
---|---|
cipher |
Cipher!: the initialized cipher object which will be used for decrypting the encrypted data. |
Return | |
---|---|
PKCS8EncodedKeySpec! |
the PKCS8EncodedKeySpec object. |
Exceptions | |
---|---|
java.lang.NullPointerException |
if cipher is null. |
java.security.spec.InvalidKeySpecException |
if the given cipher is inappropriate for the encrypted data or the encrypted data is corrupted and cannot be decrypted. |