TopBlend: Here is the first difference. There are 18 differences. is old. is new.

javax.crypto
Class EncryptedPrivateKeyInfo


java.lang.Object
  extended by javax.crypto.EncryptedPrivateKeyInfo

public class EncryptedPrivateKeyInfo
extends Object

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  }
 

Since:
1.4
See Also:
PKCS8EncodedKeySpec

Constructor Summary
EncryptedPrivateKeyInfo ( AlgorithmParameters  algParams, byte[] encryptedData)
          Constructs an EncryptedPrivateKeyInfo from the encryption algorithm parameters and the encrypted data.
EncryptedPrivateKeyInfo (byte[] encoded)
          Constructs (i.e., parses) an EncryptedPrivateKeyInfo from its ASN.1 encoding.
EncryptedPrivateKeyInfo ( String  algName, byte[] encryptedData)
          Constructs an EncryptedPrivateKeyInfo from the encryption algorithm name and the encrypted data.
 
Method Summary
  String getAlgName ()
          Returns the encryption algorithm.
  AlgorithmParameters getAlgParameters ()
          Returns the algorithm parameters used by the encryption algorithm.
 byte[] getEncoded ()
          Returns the ASN.1 encoding of this object.
 byte[] getEncryptedData ()
          Returns a copy of the encrypted data.
  PKCS8EncodedKeySpec getKeySpec ( Cipher
          Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.
  PKCS8EncodedKeySpec getKeySpec ( Key
          Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.
  PKCS8EncodedKeySpec getKeySpec ( Key  decryptKey, Provider
          Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.
  PKCS8EncodedKeySpec getKeySpec ( Key  decryptKey, String
          Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.
 
Methods inherited from class java.lang. Object
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

Constructor Detail

EncryptedPrivateKeyInfo


public EncryptedPrivateKeyInfo(byte[] encoded)
                        throws IOException
Constructs (i.e., parses) an EncryptedPrivateKeyInfo from its ASN.1 encoding.

Parameters:
encoded - the ASN.1 encoding of this object. The contents of the array are copied to protect against subsequent modification.
Throws:
NullPointerException - if the encoded is null.
IOException - if error occurs when parsing the ASN.1 encoding.

EncryptedPrivateKeyInfo


public EncryptedPrivateKeyInfo(String algName,
                               byte[] encryptedData)
                        throws NoSuchAlgorithmException
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. Note: the encrypedData is cloned when constructing this object. If encryption algorithm has associated parameters use the constructor with AlgorithmParameters as the parameter.

Parameters:
algName - encryption algorithm name. See Appendix A in the Java Cryptography Extension Reference Guide for information about standard Cipher algorithm names. algName - algorithm name.
encryptedData - encrypted data. The contents of encrypedData are copied to protect against subsequent modification when constructing this object.
Throws:
NullPointerException - if algName or encryptedData is null.
IllegalArgumentException - if encryptedData is empty, i.e. 0-length.
NoSuchAlgorithmException - if the specified algName is not supported.

EncryptedPrivateKeyInfo


public EncryptedPrivateKeyInfo(AlgorithmParameters algParams,
                               byte[] encryptedData)
                        throws NoSuchAlgorithmException
Constructs an EncryptedPrivateKeyInfo from the encryption algorithm parameters and the encrypted data.

Note: the encrypedData is cloned when constructing this object.

Parameters:
algParams - 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 - encrypted data. The contents of encrypedData are copied to protect against subsequent modification when constructing this object.
Throws:
NullPointerException - if algParams or encryptedData is null.
IllegalArgumentException - if encryptedData is empty, i.e. 0-length.
NoSuchAlgorithmException - if the specified algName of the specified algParams parameter is not supported.
Method Detail

getAlgName


public String getAlgName()
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 Extension Reference Guide for information about standard Cipher algorithm names.

Returns:
the encryption algorithm name.

getAlgParameters


public AlgorithmParameters getAlgParameters()
Returns the algorithm parameters used by the encryption algorithm.

Returns:
the algorithm parameters.

getEncryptedData


public byte[] getEncryptedData()
Returns a copy of the encrypted data.

Returns:
the encrypted data. Returns a new array each time this method is called. a copy of the encrypted data.

getKeySpec


public PKCS8EncodedKeySpecgetKeySpec(Cipher cipher)
  c)
 throws InvalidKeySpecException
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 - the initialized cipher object which will be used for decrypting the encrypted data.
Returns:
the PKCS8EncodedKeySpec object.
Throws:
NullPointerException - if cipher is null.
InvalidKeySpecException - if the given cipher is inappropriate for the encrypted data or the encrypted data is corrupted and cannot be decrypted.

getKeySpec


 
public PKCS8EncodedKeySpecgetKeySpec ( Key decryptKey)
 throws NoSuchAlgorithmException,
 InvalidKeyException
Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.

Parameters:
decryptKey - key used for decrypting the encrypted data.
Returns:
the PKCS8EncodedKeySpec object.
Throws:
NullPointerException - if decryptKey is null.
NoSuchAlgorithmException - if cannot find appropriate cipher to decrypt the encrypted data.
InvalidKeyException - if decryptKey cannot be used to decrypt the encrypted data or the decryption result is not a valid PKCS8KeySpec.

getKeySpec


 
public PKCS8EncodedKeySpecgetKeySpec ( Key decryptKey,
 String providerName)
 throws NoSuchProviderException,
 NoSuchAlgorithmException,
 InvalidKeyException
Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.

Parameters:
decryptKey - key used for decrypting the encrypted data.
providerName - the name of provider whose Cipher implementation will be used.
Returns:
the PKCS8EncodedKeySpec object.
Throws:
NullPointerException - if decryptKey or providerName is null.
NoSuchProviderException - if no provider providerName is registered.
NoSuchAlgorithmException - if cannot find appropriate cipher to decrypt the encrypted data.
InvalidKeyException - if decryptKey cannot be used to decrypt the encrypted data or the decryption result is not a valid PKCS8KeySpec.

getKeySpec


 
public PKCS8EncodedKeySpecgetKeySpec ( Key decryptKey,
 Provider provider)
 throws NoSuchAlgorithmException,
 InvalidKeyException
Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it.

Parameters:
decryptKey - key used for decrypting the encrypted data.
provider - the name of provider whose Cipher implementation will be used.
Returns:
the PKCS8EncodedKeySpec object.
Throws:
NullPointerException - if decryptKey or provider is null.
NoSuchAlgorithmException - if cannot find appropriate cipher to decrypt the encrypted data in provider.
InvalidKeyException - if decryptKey cannot be used to decrypt the encrypted data or the decryption result is not a valid PKCS8KeySpec.

getEncoded


public byte[] getEncoded()
                  throws IOException
Returns the ASN.1 encoding of this object.

Returns:
the ASN.1 encoding. Returns a new array each time this method is called.
Throws:
IOException - if error occurs when constructing its ASN.1 encoding.