Module

x/jose/jwt/encrypt.ts>EncryptJWT

JWA, JWS, JWE, JWT, JWK, JWKS for Node.js, Browser, Cloudflare Workers, Deno, Bun, and other Web-interoperable runtimes.
Extremely Popular
Latest
class EncryptJWT
extends ProduceJWT
import { EncryptJWT } from "https://dotland.deno.dev/x/jose@v5.9.6/jwt/encrypt.ts";

The EncryptJWT class is used to build and encrypt Compact JWE formatted JSON Web Tokens.

This class is exported (as a named export) from the main 'jose' module entry point as well as from its subpath export 'jose/jwt/encrypt'.

Properties

private
_cek: Uint8Array
private
_iv: Uint8Array
private
_keyManagementParameters: JWEKeyManagementHeaderParameters
private
_protectedHeader: CompactJWEHeaderParameters
private
_replicateAudienceAsHeader: boolean
private
_replicateIssuerAsHeader: boolean
private
_replicateSubjectAsHeader: boolean

Methods

encrypt(key: KeyLike | Uint8Array, options?: EncryptOptions): Promise<string>

Encrypts and returns the JWT.

Replicates the "aud" (Audience) Claim as a JWE Protected Header Parameter.

Replicates the "iss" (Issuer) Claim as a JWE Protected Header Parameter.

Replicates the "sub" (Subject) Claim as a JWE Protected Header Parameter.

deprecated
setContentEncryptionKey(cek: Uint8Array): this

Sets a content encryption key to use, by default a random suitable one is generated for the JWE enc" (Encryption Algorithm) Header Parameter.

deprecated
setInitializationVector(iv: Uint8Array): 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.

Sets the JWE Key Management parameters to be used when encrypting. Use of this is method is really only needed for ECDH based algorithms when utilizing the Agreement PartyUInfo or Agreement PartyVInfo parameters. Other parameters will always be randomly generated when needed and missing.

Sets the JWE Protected Header on the EncryptJWT object.