javax.crypto

Class EncryptedPrivateKeyInfo

public class EncryptedPrivateKeyInfo extends Object

An implementation of the EncryptedPrivateKeyInfo ASN.1 type as specified in PKCS #8 - Private-Key Information Syntax Standard.

The ASN.1 type EncryptedPrivateKeyInfo is:

EncryptedPrivateKeyInfo ::= SEQUENCE {
   encryptionAlgorithm EncryptionAlgorithmIdentifier,
   encryptedData EncryptedData }

 EncryptionAlgorithmIdentifier ::= AlgorithmIdentifier

 EncrytpedData ::= OCTET STRING

 AlgorithmIdentifier ::= SEQUENCE {
   algorithm  OBJECT IDENTIFIER,
   parameters ANY DEFINED BY algorithm OPTIONAL }

Since: 1.4

See Also: PKCS8EncodedKeySpec

Constructor Summary
EncryptedPrivateKeyInfo(AlgorithmParameters params, byte[] encryptedData)
Create a new EncryptedPrivateKeyInfo object from raw encrypted data and the parameters used for encryption.
EncryptedPrivateKeyInfo(byte[] encoded)
Create a new EncryptedPrivateKeyInfo from an encoded representation, parsing the ASN.1 sequence.
EncryptedPrivateKeyInfo(String algName, byte[] encryptedData)
Create a new EncryptedPrivateKeyInfo from the cipher name and the encrytpedData.
Method Summary
StringgetAlgName()
Return the name of the cipher used to encrypt this key.
AlgorithmParametersgetAlgParameters()
byte[]getEncoded()
byte[]getEncryptedData()
PKCS8EncodedKeySpecgetKeySpec(Cipher cipher)

Constructor Detail

EncryptedPrivateKeyInfo

public EncryptedPrivateKeyInfo(AlgorithmParameters params, byte[] encryptedData)
Create a new EncryptedPrivateKeyInfo object from raw encrypted data and the parameters used for encryption.

The encryptedData array is cloned.

Parameters: params The encryption algorithm parameters. encryptedData The encrypted key data.

Throws: java.lang.IllegalArgumentException If the encryptedData array is empty (zero-length). java.security.NoSuchAlgorithmException If the algorithm specified in the parameters is not supported. java.lang.NullPointerException If encryptedData is null.

EncryptedPrivateKeyInfo

public EncryptedPrivateKeyInfo(byte[] encoded)
Create a new EncryptedPrivateKeyInfo from an encoded representation, parsing the ASN.1 sequence.

Parameters: encoded The encoded info.

Throws: java.io.IOException If parsing the encoded data fails. java.lang.NullPointerException If encoded is null.

EncryptedPrivateKeyInfo

public EncryptedPrivateKeyInfo(String algName, byte[] encryptedData)
Create a new EncryptedPrivateKeyInfo from the cipher name and the encrytpedData.

The encryptedData array is cloned.

Parameters: algName The name of the algorithm (as an object identifier). encryptedData The encrypted key data.

Throws: java.lang.IllegalArgumentException If the encryptedData array is empty (zero-length). java.security.NoSuchAlgorithmException If algName is not the name of a supported algorithm. java.lang.NullPointerException If encryptedData is null.

Method Detail

getAlgName

public String getAlgName()
Return the name of the cipher used to encrypt this key.

Returns: The algorithm name.

getAlgParameters

public AlgorithmParameters getAlgParameters()

getEncoded

public byte[] getEncoded()

getEncryptedData

public byte[] getEncryptedData()

getKeySpec

public PKCS8EncodedKeySpec getKeySpec(Cipher cipher)