Package org.forgerock.json.jose.jwe
Class SignedThenEncryptedJwt
java.lang.Object
org.forgerock.json.jose.jwe.EncryptedJwt
org.forgerock.json.jose.jwe.SignedThenEncryptedJwt
A nested signed-then-encrypted JWT.
-
Constructor Summary
ConstructorsConstructorDescriptionSignedThenEncryptedJwt
(JweHeader header, String encodedHeader, byte[] encryptedContentEncryptionKey, byte[] initialisationVector, byte[] ciphertext, byte[] authenticationTag) Reconstructs a signed-then-encrypted JWT from components parts of the encrypted JWT string.SignedThenEncryptedJwt
(JweHeader header, SignedJwt payload, Key publicKey) Constructs a fresh signed-then-encrypted JWT with the given signed JWT payload, JWE headers and encryption key. -
Method Summary
Modifier and TypeMethodDescriptionboolean
decryptAndVerify
(Key decryptionKey, SigningHandler signingHandler) Decrypts the outer JWT and then verifies the signature on the inner JWT.Gets the claims set object for the Jwt, which contains all of the claims (name value pairs) conveyed by the JWT.boolean
verify
(SigningHandler signingHandler) Verifies that the signature is valid on the nested signed JWT.Methods inherited from class org.forgerock.json.jose.jwe.EncryptedJwt
build, decrypt, getHeader
-
Constructor Details
-
SignedThenEncryptedJwt
Constructs a fresh signed-then-encrypted JWT with the given signed JWT payload, JWE headers and encryption key.- Parameters:
header
- the JWE headers.payload
- the signed JWT payload.publicKey
- the encryption key.
-
SignedThenEncryptedJwt
public SignedThenEncryptedJwt(JweHeader header, String encodedHeader, byte[] encryptedContentEncryptionKey, byte[] initialisationVector, byte[] ciphertext, byte[] authenticationTag) Reconstructs a signed-then-encrypted JWT from components parts of the encrypted JWT string.- Parameters:
header
- the decoded headers.encodedHeader
- the encoded headers.encryptedContentEncryptionKey
- the encrypted content encryption key (CEK), or null if not used.initialisationVector
- the initialisation vector (IV).ciphertext
- the encrypted ciphertext payload.authenticationTag
- the authentication MAC tag.
-
-
Method Details
-
verify
Verifies that the signature is valid on the nested signed JWT.- Parameters:
signingHandler
- the handler to use for verifying the signature.- Returns:
- true if the signature is valid, otherwise false.
- Throws:
JwsVerifyingException
- if the outer JWT has not already been decrypted.
-
decryptAndVerify
Decrypts the outer JWT and then verifies the signature on the inner JWT.- Parameters:
decryptionKey
- the decryption key for the outer JWE.signingHandler
- the signing handler for verifying the nested JWS.- Returns:
- true if the nested signature is valid, otherwise false.
- Throws:
JweDecryptionException
- if the JWE cannot be decrypted.
-
getClaimsSet
Description copied from interface:Jwt
Gets the claims set object for the Jwt, which contains all of the claims (name value pairs) conveyed by the JWT.- Specified by:
getClaimsSet
in interfaceJwt
- Overrides:
getClaimsSet
in classEncryptedJwt
- Returns:
- The JWTs Claims Set.
-