org.mozilla.jss.pkix.primitive
Class EncryptedPrivateKeyInfo
java.lang.Object
|
+--org.mozilla.jss.pkix.primitive.EncryptedPrivateKeyInfo
- All Implemented Interfaces:
- ASN1Value
- 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()
- Description copied from interface:
ASN1Value
- Returns the base tag for this type, not counting any tags
that may be imposed on it by its context.
- Specified by:
getTag
in interface ASN1Value
encode
public void encode(java.io.OutputStream ostream)
throws java.io.IOException
- Description copied from interface:
ASN1Value
- Write this value's DER encoding to an output stream using
its own base tag.
- Specified by:
encode
in interface ASN1Value
encode
public void encode(Tag implicitTag,
java.io.OutputStream ostream)
throws java.io.IOException
- Description copied from interface:
ASN1Value
- Write this value's DER encoding to an output stream using
an implicit tag.
- Specified by:
encode
in interface ASN1Value
getTemplate
public static EncryptedPrivateKeyInfo.Template getTemplate()