You are currently viewing a snapshot of www.mozilla.org taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to www.mozilla.org, please file a bug.




org.mozilla.jss.pkcs7
Class EncryptedContentInfo

java.lang.Object
  extended by 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.


Nested Class Summary
static class EncryptedContentInfo.Template
          A template file for decoding a EnvelopedData blob
 
Constructor Summary
EncryptedContentInfo(OBJECT_IDENTIFIER contentType, AlgorithmIdentifier contentEncryptionAlgorithm, OCTET_STRING encryptedContent)
          Create a EnvelopedData ASN1 object.
EncryptedContentInfo(OBJECT_IDENTIFIER contentType, AlgorithmIdentifier contentEncryptionAlgorithm, OCTET_STRING encryptedContent, boolean createHackedCRSCompatibleECI)
           
 
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, toString, wait, wait, wait
 

Constructor Detail

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)
Method Detail

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.
Throws:
CryptoManager.NotInitializedException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
TokenException
java.io.CharConversionException

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.
Throws:
java.lang.IllegalStateException
CryptoManager.NotInitializedException
java.security.NoSuchAlgorithmException
InvalidBERException
java.io.IOException
java.security.InvalidKeyException
java.security.InvalidAlgorithmParameterException
TokenException
IllegalBlockSizeException
BadPaddingException

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
Throws:
java.io.IOException

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
Throws:
java.io.IOException

getTemplate

public static EncryptedContentInfo.Template getTemplate()