K
- the type of Key
used during the request to obtain the resulting decryption key.public interface DecryptionKeyRequest<K extends Key> extends SecureRequest<byte[],K>, KeyRequest<byte[]>
KeyRequest
to obtain a decryption key that will be used to decrypt a JWE using an AeadAlgorithm
.
The AEAD algorithm used for decryption is accessible via KeyRequest.getEncryptionAlgorithm()
.
The key used to perform cryptographic operations, for example a direct shared key, or a
JWE "key decryption key" will be accessible via KeySupplier.getKey()
. This is always required and
never null
.
Any encrypted key material (what the JWE specification calls the
JWE Encrypted Key) will
be accessible via Message.getPayload()
. If present, the KeyAlgorithm
will decrypt it to obtain the resulting
Content Encryption Key (CEK).
This may be empty however depending on which KeyAlgorithm
was used during JWE encryption.
Finally, any public information necessary by the called KeyAlgorithm
to decrypt any
JWE Encrypted Key
(such as an initialization vector, authentication tag, ephemeral key, etc) is expected
to be available in the JWE protected header, accessible via KeyRequest.getHeader()
.
getKey
getEncryptionAlgorithm, getHeader
getProvider, getSecureRandom
getPayload
Copyright © 2014–2023 jsonwebtoken.io. All rights reserved.