public final class AESKeyWrapEncryptionHandler extends Object implements EncryptionHandler
| Constructor and Description |
|---|
AESKeyWrapEncryptionHandler(EncryptionMethod method)
Constructs an AES KeyWrap encryption handler for the given underlying content encryption method.
|
| Modifier and Type | Method and Description |
|---|---|
byte[] |
decryptCiphertext(Key contentEncryptionKey,
byte[] initialisationVector,
byte[] ciphertext,
byte[] authenticationTag,
byte[] additionalAuthenticatedData)
Decrypts the ciphertext with the Content Encryption Key, using the initialisation vector and additional
authenticated data, following the steps defined by the EncryptionHandler JweAlgorithm.
|
Key |
decryptContentEncryptionKey(Key key,
byte[] encryptedContentEncryptionKey)
Decrypts the Content Encryption Key (CEK) following the appropriate steps defined by the EncryptionHandler
JweAlgorithm.
|
JweEncryption |
encryptPlaintext(Key contentEncryptionKey,
byte[] initialisationVector,
byte[] plaintext,
byte[] additionalAuthenticatedData)
Encrypts the plaintext with the Content Encryption Key, using the initialisation vector and additional
authenticated data, following the steps defined by the EncryptionHandler JweAlgorithm.
|
byte[] |
generateInitialisationVector()
Generates a random JWE Initialisation Vector of the correct size for the encryption algorithm, if the
EncryptionHandler JweAlgorithm does not required an initialisation vector then the initialisation vector will
be an empty octet sequence.
|
byte[] |
generateJWEEncryptedKey(Key key,
Key contentEncryptionKey)
Generates the Content Encryption Key (CEK) following the appropriate steps defined by the EncryptionHandler
JweAlgorithm.
|
Key |
getContentEncryptionKey()
Creates a Content Encryption Key (CEK) following the appropriate steps defined by the EncryptionHandler
JweAlgorithm.
|
public AESKeyWrapEncryptionHandler(EncryptionMethod method)
method - the content encryption method.public Key getContentEncryptionKey()
EncryptionHandlerSee points 1, 2, 3 in Section 5.1 of the JWE Specification.
getContentEncryptionKey in interface EncryptionHandlerpublic byte[] generateJWEEncryptedKey(Key key, Key contentEncryptionKey)
EncryptionHandlerSee points 4, 5, 6 in Section 5.1 of the JWE Specification.
generateJWEEncryptedKey in interface EncryptionHandlerkey - The key to use to encrypt the Content Encryption Key, if the EncryptionHandler JweAlgorithm requires.contentEncryptionKey - The Content Encryption Key (CEK).public byte[] generateInitialisationVector()
EncryptionHandlerSee points 9 in Section 5.1 of the JWE Specification.
generateInitialisationVector in interface EncryptionHandlerpublic JweEncryption encryptPlaintext(Key contentEncryptionKey, byte[] initialisationVector, byte[] plaintext, byte[] additionalAuthenticatedData)
EncryptionHandlerSee points 15, 16 in Section 5.1 of the JWE Specification.
encryptPlaintext in interface EncryptionHandlercontentEncryptionKey - The Content Encryption Key.initialisationVector - The Initialisation Vector.plaintext - The plaintext to encrypt.additionalAuthenticatedData - An array of bytes representing the additional authenticated data.public Key decryptContentEncryptionKey(Key key, byte[] encryptedContentEncryptionKey)
EncryptionHandlerSee points 9, 10 in Section 5.2 of the JWE Specification.
decryptContentEncryptionKey in interface EncryptionHandlerkey - The private key pair to the public key that encrypted the JWT.encryptedContentEncryptionKey - The encrypted Content Encryption Key.public byte[] decryptCiphertext(Key contentEncryptionKey, byte[] initialisationVector, byte[] ciphertext, byte[] authenticationTag, byte[] additionalAuthenticatedData)
EncryptionHandlerSee points 14, 15 in Section 5.2 of the JWE Specification.
decryptCiphertext in interface EncryptionHandlercontentEncryptionKey - The Content Encryption Key.initialisationVector - The Initialisation Vector.ciphertext - The ciphertext to decrypt.authenticationTag - The authentication tag.additionalAuthenticatedData - An array of bytes representing the additional authenticated data.Copyright © 2025 Open Identity Platform Community. All rights reserved.