public class DirectEncrypter extends Object implements JWEEncrypter
JWE objects with a
shared symmetric key. This class is thread-safe.
Supports the following JWE algorithms:
Supports the following encryption methods:
| Modifier and Type | Field and Description |
|---|---|
static Set<JWEAlgorithm> |
SUPPORTED_ALGORITHMS
The supported JWE algorithms.
|
static Set<EncryptionMethod> |
SUPPORTED_ENCRYPTION_METHODS
The supported encryption methods.
|
| Constructor and Description |
|---|
DirectEncrypter(byte[] keyBytes)
Creates a new direct encrypter.
|
DirectEncrypter(SecretKey key)
Creates a new direct encrypter.
|
| Modifier and Type | Method and Description |
|---|---|
JWECryptoParts |
encrypt(ReadOnlyJWEHeader readOnlyJWEHeader,
byte[] bytes)
Encrypts the specified clear text of a
JWE object. |
SecretKey |
getKey()
Gets the shared symmetric key.
|
Set<JWEAlgorithm> |
supportedAlgorithms()
Returns the names of the supported JWE algorithms.
|
Set<EncryptionMethod> |
supportedEncryptionMethods()
Returns the names of the supported encryption methods.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitsupportedAlgorithms, supportedEncryptionMethodspublic static final Set<JWEAlgorithm> SUPPORTED_ALGORITHMS
public static final Set<EncryptionMethod> SUPPORTED_ENCRYPTION_METHODS
public DirectEncrypter(SecretKey key) throws JOSEException
key - The shared symmetric key. Its algorithm must be "AES".
Must be 128 bits (16 bytes), 256 bits (32 bytes) or 512
bits (64 bytes) long. Must not be null.JOSEException - If the key length or algorithm are unexpected,
or if the underlying secure random generator
couldn't be instantiated.public DirectEncrypter(byte[] keyBytes) throws JOSEException
keyBytes - The shared symmetric key, as a byte array. Must be
128 bits (16 bytes), 256 bits (32 bytes) or 512 bits
(64 bytes) long. Must not be null.JOSEException - If the key length or algorithm are unexpected,
or if the underlying secure random generator
couldn't be instantiated.public JWECryptoParts encrypt(ReadOnlyJWEHeader readOnlyJWEHeader, byte[] bytes) throws JOSEException
JWEEncrypterJWE object.encrypt in interface JWEEncrypterreadOnlyJWEHeader - The JSON Web Encryption (JWE) header. Must specify a
supported JWE algorithm and must not be
null.bytes - The clear text to encrypt. Must not be null.JOSEException - If the JWE algorithm is not supported or if
encryption failed for some other reason.public Set<JWEAlgorithm> supportedAlgorithms()
JWEAlgorithmProvideralg JWE header parameter.supportedAlgorithms in interface JWEAlgorithmProviderpublic Set<EncryptionMethod> supportedEncryptionMethods()
JWEAlgorithmProviderenc JWE header parameter.supportedEncryptionMethods in interface JWEAlgorithmProviderCopyright © 2013 NimbusDS. All Rights Reserved.