docs/jwe/flattened/encrypt/classes/FlattenedEncrypt.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.
The FlattenedEncrypt class is used to build and encrypt Flattened JWE objects.
This class is exported (as a named export) from the main 'jose' module entry point as well as
from its subpath export 'jose/jwe/flattened/encrypt'.
const jwe = await new jose.FlattenedEncrypt(
new TextEncoder().encode('It’s a dangerous business, Frodo, going out your door.'),
)
.setProtectedHeader({ alg: 'RSA-OAEP-256', enc: 'A256GCM' })
.setAdditionalAuthenticatedData(encoder.encode('The Fellowship of the Ring'))
.encrypt(publicKey)
console.log(jwe)
â–¸ new FlattenedEncrypt(plaintext): FlattenedEncrypt
FlattenedEncrypt constructor
| Parameter | Type | Description |
|---|---|---|
plaintext | Uint8Array | Binary representation of the plaintext to encrypt. |
FlattenedEncrypt
â–¸ encrypt(key, options?): Promise<FlattenedJWE>
Encrypts and resolves the value of the Flattened JWE object.
| Parameter | Type | Description |
|---|---|---|
key | Uint8Array | CryptoKey | JWK | KeyObject | Public Key or Secret to encrypt the JWE with. See Algorithm Key Requirements. |
options? | EncryptOptions | JWE Encryption options. |
â–¸ setAdditionalAuthenticatedData(aad): this
Sets the Additional Authenticated Data on the FlattenedEncrypt object.
| Parameter | Type | Description |
|---|---|---|
aad | Uint8Array | Additional Authenticated Data. |
this
â–¸ setContentEncryptionKey(cek): this
Sets a content encryption key to use, by default a random suitable one is generated for the JWE enc" (Encryption Algorithm) Header Parameter.
| Parameter | Type | Description |
|---|---|---|
cek | Uint8Array | JWE Content Encryption Key. |
this
You should not use this method. It is only really intended for test and vector validation purposes.
â–¸ setInitializationVector(iv): this
Sets the JWE Initialization Vector to use for content encryption, by default a random suitable one is generated for the JWE enc" (Encryption Algorithm) Header Parameter.
| Parameter | Type | Description |
|---|---|---|
iv | Uint8Array | JWE Initialization Vector. |
this
You should not use this method. It is only really intended for test and vector validation purposes.
â–¸ setKeyManagementParameters(parameters): this
Sets the JWE Key Management parameters to be used when encrypting.
(ECDH-ES) Use of this method is needed for ECDH based algorithms to set the "apu" (Agreement PartyUInfo) or "apv" (Agreement PartyVInfo) parameters.
| Parameter | Type | Description |
|---|---|---|
parameters | JWEKeyManagementHeaderParameters | JWE Key Management parameters. |
this
â–¸ setProtectedHeader(protectedHeader): this
Sets the JWE Protected Header on the FlattenedEncrypt object.
| Parameter | Type | Description |
|---|---|---|
protectedHeader | JWEHeaderParameters | JWE Protected Header. |
this
â–¸ setSharedUnprotectedHeader(sharedUnprotectedHeader): this
Sets the JWE Shared Unprotected Header on the FlattenedEncrypt object.
| Parameter | Type | Description |
|---|---|---|
sharedUnprotectedHeader | JWEHeaderParameters | JWE Shared Unprotected Header. |
this
â–¸ setUnprotectedHeader(unprotectedHeader): this
Sets the JWE Per-Recipient Unprotected Header on the FlattenedEncrypt object.
| Parameter | Type | Description |
|---|---|---|
unprotectedHeader | JWEHeaderParameters | JWE Per-Recipient Unprotected Header. |
this