Package com.nimbusds.jose.crypto.impl
Class AESCryptoProvider
- java.lang.Object
-
- com.nimbusds.jose.crypto.impl.AESCryptoProvider
-
- All Implemented Interfaces:
JCAAware<JWEJCAContext>,JOSEProvider,JWEProvider
- Direct Known Subclasses:
AESDecrypter,AESEncrypter
public abstract class AESCryptoProvider extends java.lang.ObjectThe base abstract class for AES and AES GCM key wrap encrypters and decrypters ofJWE objects.Supports the following key management algorithms:
JWEAlgorithm.A128KWJWEAlgorithm.A192KWJWEAlgorithm.A256KWJWEAlgorithm.A128GCMKWJWEAlgorithm.A192GCMKWJWEAlgorithm.A256GCMKW
Supports the following content encryption algorithms:
- Version:
- 2015-06-29
- Author:
- Melisa Halsband, Vladimir Dzhuvinov
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.Map<java.lang.Integer,java.util.Set<JWEAlgorithm>>COMPATIBLE_ALGORITHMSThe JWE algorithms compatible with each key size in bits.static java.util.Set<JWEAlgorithm>SUPPORTED_ALGORITHMSThe supported JWE algorithms by the AES crypto provider class.static java.util.Set<EncryptionMethod>SUPPORTED_ENCRYPTION_METHODSThe supported encryption methods by the AES crypto provider class.
-
Constructor Summary
Constructors Modifier Constructor Description protectedAESCryptoProvider(javax.crypto.SecretKey kek)Creates a new AES encryption / decryption provider.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JWEJCAContextgetJCAContext()Returns the Java Cryptography Architecture (JCA) context.javax.crypto.SecretKeygetKey()Gets the Key Encryption Key (KEK).java.util.Set<EncryptionMethod>supportedEncryptionMethods()Returns the names of the supported encryption methods by the JWE provier.java.util.Set<JWEAlgorithm>supportedJWEAlgorithms()Returns the names of the supported algorithms by the JWE provider instance.
-
-
-
Field Detail
-
SUPPORTED_ALGORITHMS
public static final java.util.Set<JWEAlgorithm> SUPPORTED_ALGORITHMS
The supported JWE algorithms by the AES crypto provider class.
-
SUPPORTED_ENCRYPTION_METHODS
public static final java.util.Set<EncryptionMethod> SUPPORTED_ENCRYPTION_METHODS
The supported encryption methods by the AES crypto provider class.
-
COMPATIBLE_ALGORITHMS
public static final java.util.Map<java.lang.Integer,java.util.Set<JWEAlgorithm>> COMPATIBLE_ALGORITHMS
The JWE algorithms compatible with each key size in bits.
-
-
Constructor Detail
-
AESCryptoProvider
protected AESCryptoProvider(javax.crypto.SecretKey kek) throws KeyLengthExceptionCreates a new AES encryption / decryption provider.- Parameters:
kek- The Key Encryption Key. Must be 128 bits (16 bytes), 192 bits (24 bytes) or 256 bits (32 bytes). Must not benull.- Throws:
KeyLengthException- If the KEK length is invalid.
-
-
Method Detail
-
getKey
public javax.crypto.SecretKey getKey()
Gets the Key Encryption Key (KEK).- Returns:
- The Key Encryption Key.
-
supportedJWEAlgorithms
public java.util.Set<JWEAlgorithm> supportedJWEAlgorithms()
Description copied from interface:JWEProviderReturns the names of the supported algorithms by the JWE provider instance. These correspond to thealgJWE header parameter.- Specified by:
supportedJWEAlgorithmsin interfaceJWEProvider- Returns:
- The supported JWE algorithms, empty set if none.
-
supportedEncryptionMethods
public java.util.Set<EncryptionMethod> supportedEncryptionMethods()
Description copied from interface:JWEProviderReturns the names of the supported encryption methods by the JWE provier. These correspond to theencJWE header parameter.- Specified by:
supportedEncryptionMethodsin interfaceJWEProvider- Returns:
- The supported encryption methods, empty set if none.
-
getJCAContext
public JWEJCAContext getJCAContext()
Description copied from interface:JCAAwareReturns the Java Cryptography Architecture (JCA) context. May be used to set a specific JCA security provider or secure random generator.- Specified by:
getJCAContextin interfaceJCAAware<JWEJCAContext>- Returns:
- The JCA context. Not
null.
-
-