Class CompositeKey


  • @Immutable
    public final class CompositeKey
    extends Object
    Composite key used in AES/CBC/PKCS5Padding/HMAC-SHA2 encryption. This class is immutable.

    See RFC 7518 (JWA), section 5.2.

    See draft-mcgrew-aead-aes-cbc-hmac-sha2-01

    Version:
    2015-06-29
    Author:
    Vladimir Dzhuvinov
    • Constructor Detail

      • CompositeKey

        public CompositeKey​(SecretKey inputKey)
                     throws KeyLengthException
        Creates a new composite key from the specified secret key.
        Parameters:
        inputKey - The input key. Must be 256, 384 or 512 bits long. Must not be null.
        Throws:
        KeyLengthException - If the input key length is not supported.
    • Method Detail

      • getMACKey

        public SecretKey getMACKey()
        Gets the extracted MAC key.
        Returns:
        The extracted MAC key.
      • getTruncatedMACByteLength

        public int getTruncatedMACByteLength()
        Gets the expected truncated MAC length.
        Returns:
        The expected truncated MAC length, in bytes.
      • getAESKey

        public SecretKey getAESKey()
        Gets the extracted encryption key.
        Returns:
        The extracted encryption key.