Most visited

Recently visited

Added in API level 1

EncryptedPrivateKeyInfo

public class EncryptedPrivateKeyInfo
extends Object

java.lang.Object
    javax.crypto.EncryptedPrivateKeyInfo


该类实现PKCS#8中定义的 EncryptedPrivateKeyInfo类型。

其ASN.1定义如下:

 EncryptedPrivateKeyInfo ::=  SEQUENCE {
     encryptionAlgorithm   AlgorithmIdentifier,
     encryptedData   OCTET STRING }

 AlgorithmIdentifier  ::=  SEQUENCE  {
     algorithm              OBJECT IDENTIFIER,
     parameters             ANY DEFINED BY algorithm OPTIONAL  }
 

也可以看看:

摘要(Summary)

Public constructors

EncryptedPrivateKeyInfo(byte[] encoded)

从ASN.1编码构造(即解析) EncryptedPrivateKeyInfo

EncryptedPrivateKeyInfo(String algName, byte[] encryptedData)

从加密算法名称和加密数据构造一个 EncryptedPrivateKeyInfo

EncryptedPrivateKeyInfo(AlgorithmParameters algParams, byte[] encryptedData)

根据加密算法参数和加密数据构造一个 EncryptedPrivateKeyInfo

公共方法(Public methods)

String getAlgName()

返回加密算法。

AlgorithmParameters getAlgParameters()

返回加密算法使用的算法参数。

byte[] getEncoded()

返回此对象的ASN.1编码。

byte[] getEncryptedData()

返回加密的数据。

PKCS8EncodedKeySpec getKeySpec(Key decryptKey)

从加密的数据中提取封闭的PKCS8EncodedKeySpec对象并返回。

PKCS8EncodedKeySpec getKeySpec(Key decryptKey, Provider provider)

从加密的数据中提取封闭的PKCS8EncodedKeySpec对象并返回。

PKCS8EncodedKeySpec getKeySpec(Key decryptKey, String providerName)

从加密的数据中提取封闭的PKCS8EncodedKeySpec对象并返回。

PKCS8EncodedKeySpec getKeySpec(Cipher cipher)

从加密的数据中提取封闭的PKCS8EncodedKeySpec对象并返回。

继承方法(Inherited methods)

From class java.lang.Object

Public constructors

EncryptedPrivateKeyInfo

Added in API level 1
EncryptedPrivateKeyInfo (byte[] encoded)

从ASN.1编码构造(即解析) EncryptedPrivateKeyInfo

参数(Parameters)
encoded byte: 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

Added in API level 1
EncryptedPrivateKeyInfo (String algName, 
                byte[] encryptedData)

从加密算法名称和加密数据构造一个 EncryptedPrivateKeyInfo

注意:这个构造函数将使用null作为算法参数的值。 如果加密算法的参数值不为null,则应使用不同的构造函数,例如EncryptedPrivateKeyInfo(AlgorithmParameters,byte [])。

参数(Parameters)
algName String: encryption algorithm name. See Appendix A in the Java Cryptography Architecture Reference Guide for information about standard Cipher algorithm names.
encryptedData byte: 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

Added in API level 1
EncryptedPrivateKeyInfo (AlgorithmParameters algParams, 
                byte[] encryptedData)

根据加密算法参数和加密数据构造一个 EncryptedPrivateKeyInfo

参数(Parameters)
algParams AlgorithmParameters: 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 byte: 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.

公共方法(Public methods)

getAlgName

Added in API level 1
String getAlgName ()

返回加密算法。

注意:当这样的映射可用时,标准名称将在构造函数中返回而不是指定的名称。 有关标准密码算法名称的信息,请参阅Java Cryptography Architecture Reference Guide中的附录A.

返回(Returns)
String the encryption algorithm name.

getAlgParameters

Added in API level 1
AlgorithmParameters getAlgParameters ()

返回加密算法使用的算法参数。

返回(Returns)
AlgorithmParameters the algorithm parameters.

getEncoded

Added in API level 1
byte[] getEncoded ()

返回此对象的ASN.1编码。

返回(Returns)
byte[] 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.

getEncryptedData

Added in API level 1
byte[] getEncryptedData ()

返回加密的数据。

返回(Returns)
byte[] the encrypted data. Returns a new array each time this method is called.

getKeySpec

Added in API level 1
PKCS8EncodedKeySpec getKeySpec (Key decryptKey)

从加密的数据中提取封闭的PKCS8EncodedKeySpec对象并返回。

参数(Parameters)
decryptKey Key: key used for decrypting the encrypted data.
返回(Returns)
PKCS8EncodedKeySpec 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

Added in API level 1
PKCS8EncodedKeySpec getKeySpec (Key decryptKey, 
                Provider provider)

从加密的数据中提取封闭的PKCS8EncodedKeySpec对象并返回。

参数(Parameters)
decryptKey Key: key used for decrypting the encrypted data.
provider Provider: the name of provider whose Cipher implementation will be used.
返回(Returns)
PKCS8EncodedKeySpec 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.

getKeySpec

Added in API level 1
PKCS8EncodedKeySpec getKeySpec (Key decryptKey, 
                String providerName)

从加密的数据中提取封闭的PKCS8EncodedKeySpec对象并返回。

参数(Parameters)
decryptKey Key: key used for decrypting the encrypted data.
providerName String: the name of provider whose Cipher implementation will be used.
返回(Returns)
PKCS8EncodedKeySpec 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

Added in API level 1
PKCS8EncodedKeySpec getKeySpec (Cipher cipher)

从加密的数据中提取封闭的PKCS8EncodedKeySpec对象并返回。
注意:为了成功检索封装的PKCS8EncodedKeySpec对象,需要将cipher初始化为Cipher.DECRYPT_MODE或Cipher.UNWRAP_MODE,并使用与生成加密数据相同的密钥和参数。

参数(Parameters)
cipher Cipher: the initialized cipher object which will be used for decrypting the encrypted data.
返回(Returns)
PKCS8EncodedKeySpec 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.

Hooray!