org.mozilla.jss.pkix.primitive
Class EncryptedPrivateKeyInfo
java.lang.Object
|
+--org.mozilla.jss.pkix.primitive.EncryptedPrivateKeyInfo
- public class EncryptedPrivateKeyInfo
- extends java.lang.Object
- implements ASN1Value
PKCS #8 EncryptedPrivateKeyInfo.
EncryptedPrivateKeyInfo ::= SEQUENCE {
encryptionAlgorithm AlgorithmIdentifier,
encryptedData OCTET STRING }
Methods inherited from class java.lang.Object |
,
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
registerNatives,
toString,
wait,
wait,
wait |
encryptionAlgorithm
private AlgorithmIdentifier encryptionAlgorithm
encryptedData
private OCTET_STRING encryptedData
sequence
private SEQUENCE sequence
TAG
private static final Tag TAG
templateInstance
private static final EncryptedPrivateKeyInfo.Template templateInstance
EncryptedPrivateKeyInfo
private EncryptedPrivateKeyInfo()
EncryptedPrivateKeyInfo
public EncryptedPrivateKeyInfo(AlgorithmIdentifier encryptionAlgorithm,
OCTET_STRING encryptedData)
- Creates an EncryptedPrivateKeyInfo from its components.
getEncryptionAlgorithm
public AlgorithmIdentifier getEncryptionAlgorithm()
getEncryptedData
public OCTET_STRING getEncryptedData()
createPBE
public static EncryptedPrivateKeyInfo createPBE(PBEAlgorithm keyGenAlg,
Password password,
byte[] salt,
int iterationCount,
KeyGenerator.CharToByteConverter charToByteConverter,
PrivateKeyInfo pki)
throws CryptoManager.NotInitializedException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException,
TokenException,
java.io.CharConversionException
- 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)
throws CryptoManager.NotInitializedException,
java.security.NoSuchAlgorithmException,
InvalidBERException,
java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException,
TokenException,
IllegalBlockSizeException,
BadPaddingException,
java.io.CharConversionException
- 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.
getTag
public Tag getTag()
- Specified by:
- getTag in interface ASN1Value
encode
public void encode(java.io.OutputStream ostream)
throws java.io.IOException
- Specified by:
- encode in interface ASN1Value
encode
public void encode(Tag implicitTag,
java.io.OutputStream ostream)
throws java.io.IOException
- Specified by:
- encode in interface ASN1Value
getTemplate
public static EncryptedPrivateKeyInfo.Template getTemplate()