Class AESEncrypter

    • Constructor Detail

      • AESEncrypter

        public AESEncrypter​(SecretKey kek)
                     throws KeyLengthException
        Creates a new AES encrypter.
        Parameters:
        kek - The Key Encryption Key. Must be 128 bits (16 bytes), 192 bits (24 bytes) or 256 bits (32 bytes). Must not be null.
        Throws:
        KeyLengthException - If the KEK length is invalid.
      • AESEncrypter

        public AESEncrypter​(byte[] keyBytes)
                     throws KeyLengthException
        Creates a new AES encrypter.
        Parameters:
        keyBytes - The Key Encryption Key, as a byte array. Must be 128 bits (16 bytes), 192 bits (24 bytes) or 256 bits (32 bytes). Must not be null.
        Throws:
        KeyLengthException - If the KEK length is invalid.
      • AESEncrypter

        public AESEncrypter​(OctetSequenceKey octJWK)
                     throws KeyLengthException
        Creates a new AES encrypter.
        Parameters:
        octJWK - The Key Encryption Key, as a JWK. Must be 128 bits (16 bytes), 192 bits (24 bytes), 256 bits (32 bytes), 384 bits (48 bytes) or 512 bits (64 bytes) long. Must not be null.
        Throws:
        KeyLengthException - If the KEK length is invalid.
    • Method Detail

      • encrypt

        public JWECryptoParts encrypt​(JWEHeader header,
                                      byte[] clearText)
                               throws JOSEException
        Description copied from interface: JWEEncrypter
        Encrypts the specified clear text of a JWE object.
        Specified by:
        encrypt in interface JWEEncrypter
        Parameters:
        header - The JSON Web Encryption (JWE) header. Must specify a supported JWE algorithm and method. Must not be null.
        clearText - The clear text to encrypt. Must not be null.
        Returns:
        The resulting JWE crypto parts.
        Throws:
        JOSEException - If the JWE algorithm or method is not supported or if encryption failed for some other internal reason.
      • supportedJWEAlgorithms

        public Set<JWEAlgorithm> supportedJWEAlgorithms()
        Description copied from interface: JWEProvider
        Returns the names of the supported algorithms by the JWE provider instance. These correspond to the alg JWE header parameter.
        Specified by:
        supportedJWEAlgorithms in interface JWEProvider
        Returns:
        The supported JWE algorithms, empty set if none.
      • supportedEncryptionMethods

        public Set<EncryptionMethod> supportedEncryptionMethods()
        Description copied from interface: JWEProvider
        Returns the names of the supported encryption methods by the JWE provier. These correspond to the enc JWE header parameter.
        Specified by:
        supportedEncryptionMethods in interface JWEProvider
        Returns:
        The supported encryption methods, empty set if none.
      • getJCAContext

        public JWEJCAContext getJCAContext()
        Description copied from interface: JCAAware
        Returns the Java Cryptography Architecture (JCA) context. May be used to set a specific JCA security provider or secure random generator.
        Specified by:
        getJCAContext in interface JCAAware<JWEJCAContext>
        Returns:
        The JCA context. Not null.