Package com.nimbusds.jose.crypto.impl
Class AESGCMKW
java.lang.Object
com.nimbusds.jose.crypto.impl.AESGCMKW
AES GCM methods for Content Encryption Key (CEK) encryption and
decryption. This class is thread-safe.
See RFC 7518 (JWA), section 4.7.
- Version:
- 2017-06-01
- Author:
- Melisa Halsband, Vladimir Dzhuvinov
-
Method Summary
Modifier and TypeMethodDescriptionstatic SecretKey
decryptCEK
(SecretKey kek, byte[] iv, AuthenticatedCipherText authEncrCEK, int keyLength, Provider provider) Decrypts the specified encrypted Content Encryption Key (CEK).static AuthenticatedCipherText
encryptCEK
(SecretKey cek, Container<byte[]> iv, SecretKey kek, Provider provider) Encrypts the specified Content Encryption Key (CEK).
-
Method Details
-
encryptCEK
public static AuthenticatedCipherText encryptCEK(SecretKey cek, Container<byte[]> iv, SecretKey kek, Provider provider) throws JOSEException Encrypts the specified Content Encryption Key (CEK).- Parameters:
cek
- The Content Encryption Key (CEK) to encrypt. Must not benull
.iv
- The initialisation vector (IV). Must not benull
. The contained IV must not benull
either.kek
- The AES Key Encryption Key (KEK). Must not benull
.provider
- The JCA provider to use,null
implies the default.- Returns:
- The encrypted Content Encryption Key (CEK).
- Throws:
JOSEException
- If encryption failed.
-
decryptCEK
public static SecretKey decryptCEK(SecretKey kek, byte[] iv, AuthenticatedCipherText authEncrCEK, int keyLength, Provider provider) throws JOSEException Decrypts the specified encrypted Content Encryption Key (CEK).- Parameters:
kek
- The AES Key Encription Key. Must not benull
.iv
- The initialisation vector (IV). Must not benull
.authEncrCEK
- The encrypted Content Encryption Key (CEK) to decrypt and authentication tag. Must not benull
.keyLength
- The expected key length, in bits.provider
- The JCA provider,null
to use the default.- Returns:
- The decrypted Content Encryption Key (CEK).
- Throws:
JOSEException
- If decryption failed.
-