public class EncryptedPrivateKeyInfo extends Object
EncryptedPrivateKeyInfo ASN.1 type as
specified in PKCS
#8 - Private-Key Information Syntax Standard.
The definition of ASN.1 is as follows:
| Constructor and Description |
|---|
EncryptedPrivateKeyInfo(AlgorithmParameters algParams,
byte[] encryptedData)
Creates an
EncryptedPrivateKeyInfo instance from the
encryption algorithm parameters an its encrypted data. |
EncryptedPrivateKeyInfo(byte[] encoded)
Creates an
EncryptedPrivateKeyInfo instance from its encoded
representation by parsing it. |
EncryptedPrivateKeyInfo(String encryptionAlgorithmName,
byte[] encryptedData)
Creates an
EncryptedPrivateKeyInfo instance from an algorithm
name and its encrypted data. |
| Modifier and Type | Method and Description |
|---|---|
String |
getAlgName()
Returns the name of the encryption algorithm.
|
AlgorithmParameters |
getAlgParameters()
Returns the parameters used by the encryption algorithm.
|
byte[] |
getEncoded()
Returns the ASN.1 encoded representation of this object.
|
byte[] |
getEncryptedData()
Returns the encrypted data of this key.
|
PKCS8EncodedKeySpec |
getKeySpec(Cipher cipher)
Returns the
PKCS8EncodedKeySpec object extracted from the
encrypted data. |
PKCS8EncodedKeySpec |
getKeySpec(Key decryptKey)
Returns the
PKCS8EncodedKeySpec object extracted from the
encrypted data. |
PKCS8EncodedKeySpec |
getKeySpec(Key decryptKey,
Provider provider)
Returns the
PKCS8EncodedKeySpec object extracted from the
encrypted data. |
PKCS8EncodedKeySpec |
getKeySpec(Key decryptKey,
String providerName)
Returns the
PKCS8EncodedKeySpec object extracted from the
encrypted data. |
public EncryptedPrivateKeyInfo(byte[] encoded)
throws IOException
EncryptedPrivateKeyInfo instance from its encoded
representation by parsing it.encoded - the encoded representation of this objectIOException - if parsing the encoded representation fails.NullPointerException - if encoded is null.public EncryptedPrivateKeyInfo(String encryptionAlgorithmName, byte[] encryptedData) throws NoSuchAlgorithmException
EncryptedPrivateKeyInfo instance from an algorithm
name and its encrypted data.encryptionAlgorithmName - the name of an algorithm.encryptedData - the encrypted data.NoSuchAlgorithmException - if the encrAlgName is not a supported algorithm.NullPointerException - if encrAlgName or encryptedData is null.IllegalArgumentException - if encryptedData is empty.public EncryptedPrivateKeyInfo(AlgorithmParameters algParams, byte[] encryptedData) throws NoSuchAlgorithmException
EncryptedPrivateKeyInfo instance from the
encryption algorithm parameters an its encrypted data.algParams - the encryption algorithm parameters.encryptedData - the encrypted data.NoSuchAlgorithmException - if the algorithm name of the specified algParams
parameter is not supported.NullPointerException - if algParams or encryptedData is
null.public String getAlgName()
public AlgorithmParameters getAlgParameters()
public byte[] getEncryptedData()
public PKCS8EncodedKeySpec getKeySpec(Cipher cipher) throws InvalidKeySpecException
PKCS8EncodedKeySpec object extracted from the
encrypted data.
The cipher must be initialize in either Cipher.DECRYPT_MODE or
Cipher.UNWRAP_MODE with the same parameters and key used for
encrypting this.
cipher - the cipher initialized for decrypting the encrypted data.PKCS8EncodedKeySpec.InvalidKeySpecException - if the specified cipher is not suited to decrypt the
encrypted data.NullPointerException - if cipher is null.public PKCS8EncodedKeySpec getKeySpec(Key decryptKey) throws NoSuchAlgorithmException, InvalidKeyException
PKCS8EncodedKeySpec object extracted from the
encrypted data.decryptKey - the key to decrypt the encrypted data with.PKCS8EncodedKeySpec.NoSuchAlgorithmException - if no usable cipher can be found to decrypt the encrypted
data.InvalidKeyException - if decryptKey is not usable to decrypt the encrypted
data.NullPointerException - if decryptKey is null.public PKCS8EncodedKeySpec getKeySpec(Key decryptKey, String providerName) throws NoSuchProviderException, NoSuchAlgorithmException, InvalidKeyException
PKCS8EncodedKeySpec object extracted from the
encrypted data.decryptKey - the key to decrypt the encrypted data with.providerName - the name of a provider whose cipher implementation should be
used.PKCS8EncodedKeySpec.NoSuchProviderException - if no provider with providerName can be found.NoSuchAlgorithmException - if no usable cipher can be found to decrypt the encrypted
data.InvalidKeyException - if decryptKey is not usable to decrypt the encrypted
data.NullPointerException - if decryptKey or providerName is null
.public PKCS8EncodedKeySpec getKeySpec(Key decryptKey, Provider provider) throws NoSuchAlgorithmException, InvalidKeyException
PKCS8EncodedKeySpec object extracted from the
encrypted data.decryptKey - the key to decrypt the encrypted data with.provider - the provider whose cipher implementation should be used.PKCS8EncodedKeySpec.NoSuchAlgorithmException - if no usable cipher can be found to decrypt the encrypted
data.InvalidKeyException - if decryptKey is not usable to decrypt the encrypted
data.NullPointerException - if decryptKey or provider is null.public byte[] getEncoded()
throws IOException
IOException - if encoding this object fails.