|
Java™ Platform Standard Ed. 6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object extended by javax.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 Architecture 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 Architecture 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.
|
Java™ Platform Standard Ed. 6 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
Scripting on this page tracks web page traffic, but does not change the content in any way.