TopBlend:
Here is the
first difference.
There are 18 differences.
is old.
is new.
javax.crypto
Class EncryptedPrivateKeyInfo
java.lang.Object
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. |
Methods inherited from class java.lang.
Object
|
clone
,
equals
,
finalize
,
getClass
,
hashCode
,
notify
,
notifyAll
,
toString
,
wait
,
wait
,
wait
|
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.
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.