docs/jwe/general/decrypt/functions/generalDecrypt.md
Support from the community to continue maintaining and improving this module is welcome. If you find the module useful, please consider supporting the project by becoming a sponsor.
āø generalDecrypt(jwe, key, options?): Promise<GeneralDecryptResult>
Decrypts a General JWE.
This function is exported (as a named export) from the main 'jose' module entry point as well
as from its subpath export 'jose/jwe/general/decrypt'.
[!NOTE]
The function iterates over therecipientsarray in the General JWE and returns the decryption result of the first recipient entry that can be successfully decrypted. The result only contains the plaintext and headers of that successfully decrypted recipient entry. Other recipient entries in the General JWE are not validated, and their headers are not included in the returned result. Recipients of a General JWE should only rely on the returned (decrypted) data.
| Parameter | Type | Description |
|---|---|---|
jwe | GeneralJWE | General JWE. |
key | Uint8Array | CryptoKey | JWK | KeyObject | Private Key or Secret to decrypt the JWE with. See Algorithm Key Requirements. |
options? | DecryptOptions | JWE Decryption options. |
const jwe = {
ciphertext: '9EzjFISUyoG-ifC2mSihfP0DPC80yeyrxhTzKt1C_VJBkxeBG0MI4Te61Pk45RAGubUvBpU9jm4',
iv: '8Fy7A_IuoX5VXG9s',
tag: 'W76IYV6arGRuDSaSyWrQNg',
aad: 'VGhlIEZlbGxvd3NoaXAgb2YgdGhlIFJpbmc',
protected: 'eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0',
recipients: [
{
encrypted_key:
'Z6eD4UK_yFb5ZoKvKkGAdqywEG_m0e4IYo0x8Vf30LAMJcsc-_zSgIeiF82teZyYi2YYduHKoqImk7MRnoPZOlEs0Q5BNK1OgBmSOhCE8DFyqh9Zh48TCTP6lmBQ52naqoUJFMtHzu-0LwZH26hxos0GP3Dt19O379MJB837TdKKa87skq0zHaVLAquRHOBF77GI54Bc7O49d8aOrSu1VEFGMThlW2caspPRiTSePDMDPq7_WGk50izRhB3Asl9wmP9wEeaTrkJKRnQj5ips1SAZ1hDBsqEQKKukxP1HtdcopHV5_qgwU8Hjm5EwSLMluMQuiE6hwlkXGOujZLVizA',
},
],
}
const { plaintext, protectedHeader, additionalAuthenticatedData } =
await jose.generalDecrypt(jwe, privateKey)
console.log(protectedHeader)
const decoder = new TextDecoder()
console.log(decoder.decode(plaintext))
console.log(decoder.decode(additionalAuthenticatedData))
āø generalDecrypt(jwe, getKey, options?): Promise<GeneralDecryptResult & ResolvedKey>
| Parameter | Type | Description |
|---|---|---|
jwe | GeneralJWE | General JWE. |
getKey | GeneralDecryptGetKey | Function resolving Private Key or Secret to decrypt the JWE with. See Algorithm Key Requirements. |
options? | DecryptOptions | JWE Decryption options. |