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, wait
supportedAlgorithms, supportedEncryptionMethods
public 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
JWEEncrypter
JWE object
.encrypt
in interface JWEEncrypter
readOnlyJWEHeader
- 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()
JWEAlgorithmProvider
alg
JWE header parameter.supportedAlgorithms
in interface JWEAlgorithmProvider
public Set<EncryptionMethod> supportedEncryptionMethods()
JWEAlgorithmProvider
enc
JWE header parameter.supportedEncryptionMethods
in interface JWEAlgorithmProvider
Copyright © 2013 NimbusDS. All Rights Reserved.