|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.crypto.EncryptedPrivateKeyInfo
public class 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 }
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 the encrypted data. |
PKCS8EncodedKeySpec |
getKeySpec(Cipher cipher)
Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it. |
PKCS8EncodedKeySpec |
getKeySpec(Key decryptKey)
Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it. |
PKCS8EncodedKeySpec |
getKeySpec(Key decryptKey,
Provider provider)
Extract the enclosed PKCS8EncodedKeySpec object from the encrypted data and return it. |
PKCS8EncodedKeySpec |
getKeySpec(Key decryptKey,
String providerName)
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 |
---|
public EncryptedPrivateKeyInfo(byte[] encoded)
throws IOException
EncryptedPrivateKeyInfo
from its ASN.1 encoding.
encoded
- the ASN.1 encoding
of this object. The contents of the array are copied to protect against
subsequent modification.
NullPointerException
- if the encoded
is null.
IOException
- if error occurs when parsing the ASN.1 encoding.public EncryptedPrivateKeyInfo(String algName,
byte[] encryptedData)
throws NoSuchAlgorithmException
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.
algName
- encryption algorithm
name. See Appendix A in the
Java Cryptography Extension Reference Guide for information
about standard Cipher algorithm names.encryptedData
- encrypted
data. The contents of encrypedData
are copied
to protect against subsequent modification when constructing this
object.
NullPointerException
- if algName
or encryptedData
is null.
IllegalArgumentException
- if encryptedData
is empty, i.e. 0-length.
NoSuchAlgorithmException
- if the specified algName is not supported.public EncryptedPrivateKeyInfo(AlgorithmParameters algParams,
byte[] encryptedData)
throws NoSuchAlgorithmException
EncryptedPrivateKeyInfo
from the encryption algorithm parameters and the encrypted data.
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.
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 |
---|
public String getAlgName()
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.
public AlgorithmParameters getAlgParameters()
public byte[] getEncryptedData()
public PKCS8EncodedKeySpec getKeySpec(Cipher cipher)
throws InvalidKeySpecException
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.
cipher
- the initialized
cipher object which will be used for decrypting the encrypted data.
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.public PKCS8EncodedKeySpec getKeySpec(Key decryptKey)
throws NoSuchAlgorithmException,
InvalidKeyException
decryptKey
- key used for
decrypting the encrypted data.
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.public PKCS8EncodedKeySpec getKeySpec(Key decryptKey,
String providerName)
throws NoSuchProviderException,
NoSuchAlgorithmException,
InvalidKeyException
decryptKey
- key used for
decrypting the encrypted data.providerName
- the name of
provider whose Cipher implementation will be used.
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.public PKCS8EncodedKeySpec getKeySpec(Key decryptKey,
Provider provider)
throws NoSuchAlgorithmException,
InvalidKeyException
decryptKey
- key used for
decrypting the encrypted data.provider
- the name of
provider whose Cipher implementation will be used.
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.public byte[] getEncoded()
throws IOException
IOException
- if error occurs when constructing its ASN.1 encoding.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |