Files
Filip Skokan acb2913e8e refactor(types): improve key and result inference
Thread resolver return types through verify and decrypt results. Add
overloads so wrappers can forward either keys or resolvers.

Infer importJWK and generateSecret results from their inputs. Keep JWT
payload generics unconstrained while rejecting known non-object shapes.

Signed-off-by: Filip Skokan <[email protected]>
2026-07-29 18:50:54 +02:00

3.6 KiB
Raw Permalink Blame History

Class: GeneralEncrypt

💗 Help the project

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 GeneralEncrypt class is used to build and encrypt General 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/general/encrypt'.

Example

const jwe = await new jose.GeneralEncrypt(
  new TextEncoder().encode('It’s a dangerous business, Frodo, going out your door.'),
)
  .setProtectedHeader({ enc: 'A256GCM' })
  .addRecipient(ecPublicKey)
  .setUnprotectedHeader({ alg: 'ECDH-ES+A256KW' })
  .addRecipient(rsaPublicKey)
  .setUnprotectedHeader({ alg: 'RSA-OAEP-384' })
  .encrypt()

console.log(jwe)

Constructors

Constructor

â–¸ new GeneralEncrypt(plaintext): GeneralEncrypt

GeneralEncrypt constructor

Parameters

Parameter Type Description
plaintext Uint8Array Binary representation of the plaintext to encrypt.

Returns

GeneralEncrypt

Methods

addRecipient()

â–¸ addRecipient(key, options?): Recipient

Adds an additional recipient for the General JWE object.

Parameters

Parameter Type Description
key KeyInput Public Key or Secret to encrypt the Content Encryption Key for the recipient with. See Algorithm Key Requirements.
options? CritOption JWE Encryption options.

Returns

Recipient


encrypt()

â–¸ encrypt(): Promise<GeneralJWE>

Encrypts and resolves the value of the General JWE object.

Returns

Promise<GeneralJWE>


setAdditionalAuthenticatedData()

â–¸ setAdditionalAuthenticatedData(aad): this

Sets the Additional Authenticated Data on the GeneralEncrypt object.

Parameters

Parameter Type Description
aad Uint8Array Additional Authenticated Data.

Returns

this


setProtectedHeader()

â–¸ setProtectedHeader(protectedHeader): this

Sets the JWE Protected Header on the GeneralEncrypt object.

Parameters

Parameter Type Description
protectedHeader JWEHeaderParameters JWE Protected Header object.

Returns

this


setSharedUnprotectedHeader()

â–¸ setSharedUnprotectedHeader(sharedUnprotectedHeader): this

Sets the JWE Shared Unprotected Header on the GeneralEncrypt object.

Parameters

Parameter Type Description
sharedUnprotectedHeader JWEHeaderParameters JWE Shared Unprotected Header object.

Returns

this