Class EncryptedContentInfo

  • All Implemented Interfaces:
    ASN1Value

    public class EncryptedContentInfo
    extends java.lang.Object
    implements ASN1Value
    The PKCS #7 type EncryptedContentInfo, which encapsulates encrypted data.
    • Method Detail

      • getEncryptedContent

        public OCTET_STRING getEncryptedContent()
      • hasEncryptedContent

        public boolean hasEncryptedContent()
      • createPBE

        public static EncryptedContentInfo createPBE​(PBEAlgorithm keyGenAlg,
                                                     Password password,
                                                     byte[] salt,
                                                     int iterationCount,
                                                     KeyGenerator.CharToByteConverter charToByteConverter,
                                                     byte[] toBeEncrypted)
                                              throws 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:
        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,
                              NotInitializedException,
                              java.security.NoSuchAlgorithmException,
                              InvalidBERException,
                              java.io.IOException,
                              java.security.InvalidKeyException,
                              java.security.InvalidAlgorithmParameterException,
                              TokenException,
                              IllegalBlockSizeException,
                              javax.crypto.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
        NotInitializedException
        java.security.NoSuchAlgorithmException
        InvalidBERException
        java.io.IOException
        java.security.InvalidKeyException
        java.security.InvalidAlgorithmParameterException
        TokenException
        IllegalBlockSizeException
        javax.crypto.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
        Returns:
        Base tag.
      • 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
        Parameters:
        ostream - Output stream.
        Throws:
        java.io.IOException - If an error occurred.
      • 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
        Parameters:
        tag - Implicit tag.
        ostream - Output stream.
        Throws:
        java.io.IOException - If an error occurred.