|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.nimbusds.jose.crypto.DirectDecrypter
public class DirectDecrypter
Direct decrypter of JWE objects
with a
shared symmetric key. This class is thread-safe.
Supports the following JWE algorithms:
Supports the following encryption methods:
EncryptionMethod.A128CBC_HS256
EncryptionMethod.A256CBC_HS512
EncryptionMethod.A128GCM
EncryptionMethod.A256GCM
Accepts all reserved JWE header parameters
. Modify the header filter
properties to restrict the acceptable JWE algorithms,
encryption methods and header parameters, or to allow custom JWE header
parameters.
Field Summary | |
---|---|
protected SecretKey |
cmk
The content master key (CMK). |
static Set<JWEAlgorithm> |
SUPPORTED_ALGORITHMS
The supported JWE algorithms. |
static Set<EncryptionMethod> |
SUPPORTED_ENCRYPTION_METHODS
The supported encryption methods. |
Constructor Summary | |
---|---|
DirectDecrypter(byte[] key)
Creates a new direct decrypter. |
Method Summary | |
---|---|
byte[] |
decrypt(ReadOnlyJWEHeader readOnlyJWEHeader,
Base64URL encryptedKey,
Base64URL iv,
Base64URL cipherText,
Base64URL integrityValue)
Decrypts the specified cipher text of a JWE Object . |
JWEHeaderFilter |
getJWEHeaderFilter()
Gets the JWE header filter associated with the decrypter. |
byte[] |
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.nimbusds.jose.JWEAlgorithmProvider |
---|
supportedAlgorithms, supportedEncryptionMethods |
Field Detail |
---|
public static final Set<JWEAlgorithm> SUPPORTED_ALGORITHMS
public static final Set<EncryptionMethod> SUPPORTED_ENCRYPTION_METHODS
protected final SecretKey cmk
Constructor Detail |
---|
public DirectDecrypter(byte[] key) throws JOSEException
key
- The shared symmetric key. 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 is unexpected.Method Detail |
---|
public JWEHeaderFilter getJWEHeaderFilter()
JWEDecrypter
supported JWE
algorithms
and header parameters that the decrypter is configured to
accept.
Attempting to decrypt
a JWE object with an
algorithm or header parameter that is not accepted must result in a
JOSEException
.
getJWEHeaderFilter
in interface JWEDecrypter
public byte[] decrypt(ReadOnlyJWEHeader readOnlyJWEHeader, Base64URL encryptedKey, Base64URL iv, Base64URL cipherText, Base64URL integrityValue) throws JOSEException
JWEDecrypter
JWE Object
.
decrypt
in interface JWEDecrypter
readOnlyJWEHeader
- The JSON Web Encryption (JWE) header. Must
specify an accepted JWE algorithm, must contain
only accepted header parameters, and must not
be null
.encryptedKey
- The encrypted key, null
if not required
by the JWE algorithm.iv
- The initialisation vector, null
if not
required by the JWE algorithm.cipherText
- The cipher text to decrypt. Must not be
null
.integrityValue
- The integrity value, null
if not
required by the JWE algorithm.
JOSEException
- If the JWE algorithm is not accepted, if a
header parameter is not accepted, or if
decryption failed for some other reason.public byte[] getKey()
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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |