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 SecretKeydecryptCEK(SecretKey kek, byte[] iv, AuthenticatedCipherText authEncrCEK, int keyLength, Provider provider) Decrypts the specified encrypted Content Encryption Key (CEK).static AuthenticatedCipherTextencryptCEK(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 benulleither.kek- The AES Key Encryption Key (KEK). Must not benull.provider- The JCA provider to use,nullimplies 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,nullto use the default.- Returns:
- The decrypted Content Encryption Key (CEK).
- Throws:
JOSEException- If decryption failed.
-