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)
• new GeneralEncrypt(plaintext
): GeneralEncrypt
Name | Type | Description |
---|---|---|
plaintext |
Uint8Array |
Binary representation of the plaintext to encrypt. |
▸ addRecipient(key
, options?
): Recipient
Adds an additional recipient for the General JWE object.
Name | Type | Description |
---|---|---|
key |
Uint8Array | KeyLike |
Public Key or Secret to encrypt the Content Encryption Key for the recipient with. See Algorithm Key Requirements. |
options? |
CritOption |
JWE Encryption options. |
▸ encrypt(): Promise
<GeneralJWE
>
Encrypts and resolves the value of the General JWE object.
▸ setAdditionalAuthenticatedData(aad
): this
Sets the Additional Authenticated Data on the GeneralEncrypt object.
Name | Type | Description |
---|---|---|
aad |
Uint8Array |
Additional Authenticated Data. |
this
▸ setProtectedHeader(protectedHeader
): this
Sets the JWE Protected Header on the GeneralEncrypt object.
Name | Type | Description |
---|---|---|
protectedHeader |
JWEHeaderParameters |
JWE Protected Header object. |
this
▸ setSharedUnprotectedHeader(sharedUnprotectedHeader
): this
Sets the JWE Shared Unprotected Header on the GeneralEncrypt object.
Name | Type | Description |
---|---|---|
sharedUnprotectedHeader |
JWEHeaderParameters |
JWE Shared Unprotected Header object. |
this