org.mozilla.jss.pkix.primitive

Class EncryptedPrivateKeyInfo

public class EncryptedPrivateKeyInfo extends Object implements ASN1Value

PKCS #8 EncryptedPrivateKeyInfo.
 EncryptedPrivateKeyInfo ::= SEQUENCE {
      encryptionAlgorithm     AlgorithmIdentifier,
      encryptedData           OCTET STRING }
 
Nested Class Summary
static classEncryptedPrivateKeyInfo.Template
A template class for decoding EncryptedPrivateKeyInfos from BER.
Constructor Summary
EncryptedPrivateKeyInfo(AlgorithmIdentifier encryptionAlgorithm, OCTET_STRING encryptedData)
Creates an EncryptedPrivateKeyInfo from its components.
Method Summary
static EncryptedPrivateKeyInfocreatePBE(PBEAlgorithm keyGenAlg, Password password, byte[] salt, int iterationCount, KeyGenerator.CharToByteConverter charToByteConverter, PrivateKeyInfo pki)
Creates a new EncryptedPrivateKeyInfo, where the data is encrypted with a password-based key.
PrivateKeyInfodecrypt(Password pass, KeyGenerator.CharToByteConverter charToByteConverter)
Decrypts an EncryptedPrivateKeyInfo that was encrypted with a PBE algorithm.
voidencode(OutputStream ostream)
voidencode(Tag implicitTag, OutputStream ostream)
OCTET_STRINGgetEncryptedData()
AlgorithmIdentifiergetEncryptionAlgorithm()
TaggetTag()
static EncryptedPrivateKeyInfo.TemplategetTemplate()

Constructor Detail

EncryptedPrivateKeyInfo

public EncryptedPrivateKeyInfo(AlgorithmIdentifier encryptionAlgorithm, OCTET_STRING encryptedData)
Creates an EncryptedPrivateKeyInfo from its components.

Method Detail

createPBE

public static EncryptedPrivateKeyInfo createPBE(PBEAlgorithm keyGenAlg, Password password, byte[] salt, int iterationCount, KeyGenerator.CharToByteConverter charToByteConverter, PrivateKeyInfo pki)
Creates a new EncryptedPrivateKeyInfo, where the data is encrypted with a password-based key.

Parameters: keyGenAlg The algorithm for generating a symmetric key from a password, salt, and iteration count. password The password to use in generating the key. salt The salt to use in generating the key. iterationCount The number of hashing iterations to perform while generating the key. charToByteConverter The mechanism for converting the characters in the password into bytes. If null, the default mechanism will be used, which is UTF8. pki The PrivateKeyInfo to be encrypted and stored in the EncryptedContentInfo. Before they are encrypted, they will be padded using PKCS padding.

decrypt

public PrivateKeyInfo decrypt(Password pass, KeyGenerator.CharToByteConverter charToByteConverter)
Decrypts an EncryptedPrivateKeyInfo that was encrypted with a PBE algorithm. The algorithm and its parameters are extracted from the EncryptedPrivateKeyInfo.

Parameters: pass The password to use to generate the PBE key. charToByteConverter The converter to change the password characters to bytes. If null, the default conversion is used.

encode

public void encode(OutputStream ostream)

encode

public void encode(Tag implicitTag, OutputStream ostream)

getEncryptedData

public OCTET_STRING getEncryptedData()

getEncryptionAlgorithm

public AlgorithmIdentifier getEncryptionAlgorithm()

getTag

public Tag getTag()

getTemplate

public static EncryptedPrivateKeyInfo.Template getTemplate()