org.mozilla.jss.pkcs7
Class EncryptedContentInfo
java.lang.Object
|
+--org.mozilla.jss.pkcs7.EncryptedContentInfo
- All Implemented Interfaces:
- ASN1Value
- public class EncryptedContentInfo
- extends java.lang.Object
- implements ASN1Value
The PKCS #7 type EncryptedContentInfo, which encapsulates
encrypted data.
Method Summary |
static EncryptedContentInfo |
createCRSCompatibleEncryptedContentInfo(OBJECT_IDENTIFIER contentType,
AlgorithmIdentifier contentEncryptionAlgorithm,
OCTET_STRING encryptedContent)
|
static EncryptedContentInfo |
createPBE(PBEAlgorithm keyGenAlg,
Password password,
byte[] salt,
int iterationCount,
KeyGenerator.CharToByteConverter charToByteConverter,
byte[] toBeEncrypted)
Creates a new EncryptedContentInfo, where the data is encrypted
with a password-based key. |
byte[] |
decrypt(Password pass,
KeyGenerator.CharToByteConverter charToByteConverter)
Decrypts the content of an EncryptedContentInfo encrypted with a
PBE key. |
void |
encode(java.io.OutputStream ostream)
Write this value's DER encoding to an output stream using
its own base tag. |
void |
encode(Tag tag,
java.io.OutputStream ostream)
Write this value's DER encoding to an output stream using
an implicit tag. |
AlgorithmIdentifier |
getContentEncryptionAlgorithm()
|
OBJECT_IDENTIFIER |
getContentType()
|
OCTET_STRING |
getEncryptedContent()
|
Tag |
getTag()
Returns the base tag for this type, not counting any tags
that may be imposed on it by its context. |
static EncryptedContentInfo.Template |
getTemplate()
|
boolean |
hasEncryptedContent()
|
Methods inherited from class java.lang.Object |
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait |
contentType
private OBJECT_IDENTIFIER contentType
contentEncryptionAlgorithm
private AlgorithmIdentifier contentEncryptionAlgorithm
encryptedContent
private OCTET_STRING encryptedContent
sequence
private SEQUENCE sequence
TAG
private static final Tag TAG
templateInstance
private static final EncryptedContentInfo.Template templateInstance
EncryptedContentInfo
private EncryptedContentInfo()
EncryptedContentInfo
public EncryptedContentInfo(OBJECT_IDENTIFIER contentType,
AlgorithmIdentifier contentEncryptionAlgorithm,
OCTET_STRING encryptedContent)
- Create a EnvelopedData ASN1 object.
EncryptedContentInfo
public EncryptedContentInfo(OBJECT_IDENTIFIER contentType,
AlgorithmIdentifier contentEncryptionAlgorithm,
OCTET_STRING encryptedContent,
boolean createHackedCRSCompatibleECI)
getContentType
public OBJECT_IDENTIFIER getContentType()
getContentEncryptionAlgorithm
public AlgorithmIdentifier getContentEncryptionAlgorithm()
getEncryptedContent
public OCTET_STRING getEncryptedContent()
hasEncryptedContent
public boolean hasEncryptedContent()
createCRSCompatibleEncryptedContentInfo
public static EncryptedContentInfo createCRSCompatibleEncryptedContentInfo(OBJECT_IDENTIFIER contentType,
AlgorithmIdentifier contentEncryptionAlgorithm,
OCTET_STRING encryptedContent)
createPBE
public static EncryptedContentInfo createPBE(PBEAlgorithm keyGenAlg,
Password password,
byte[] salt,
int iterationCount,
KeyGenerator.CharToByteConverter charToByteConverter,
byte[] toBeEncrypted)
throws CryptoManager.NotInitializedException,
java.security.NoSuchAlgorithmException,
java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException,
TokenException,
java.io.CharConversionException
- Creates a new EncryptedContentInfo, 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.toBeEncrypted
- The bytes to be encrypted and stored in the
EncryptedContentInfo. Before they are encrypted, they will be
padded using PKCS padding.
decrypt
public byte[] decrypt(Password pass,
KeyGenerator.CharToByteConverter charToByteConverter)
throws java.lang.IllegalStateException,
CryptoManager.NotInitializedException,
java.security.NoSuchAlgorithmException,
InvalidBERException,
java.io.IOException,
java.security.InvalidKeyException,
java.security.InvalidAlgorithmParameterException,
TokenException,
IllegalBlockSizeException,
BadPaddingException
- Decrypts the content of an EncryptedContentInfo encrypted with a
PBE key.
- Parameters:
pass
- The password to use in generating the PBE decryption key.charToByteConverter
- The converter for converting the password
characters into bytes. May be null to use the default.- Returns:
- The decrypted contents of the EncryptedContentInfo. The contents
are first unpadded using the PKCS padding mechanism.
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 tag,
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 EncryptedContentInfo.Template getTemplate()