|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 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.
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.