Class JWE

This class represents a JSON Web Encryption (JWE) object.

Note: this class handles sensitive security-related data. Pay special attention to PCI DSS v3 requirements 2, 4, and 12.

PropertyDescription
algorithm: String (read-only)Get the algorithm (alg) from the header.
encryptionMethod: String (read-only)Get the encryption method (enc) from the header.
headerMap: Map (read-only)Get a copy of the JWE headers as a Map.
keyID: String (read-only)Get the key id (kid) from the header.
payload: String (read-only)Get the decrypted payload.
ConstructorDescription
JWE(JWEHeader, String)Construct a new JWE for encryption.
JWE(JWEHeader, Bytes)Construct a new JWE for encryption.
MethodDescription
decrypt(KeyRef)Decrypt the payload of this JWE object.
encrypt(CertificateRef)Encrypt the payload of this JWE object.
getAlgorithm()Get the algorithm (alg) from the header.
getEncryptionMethod()Get the encryption method (enc) from the header.
getHeaderMap()Get a copy of the JWE headers as a Map.
getKeyID()Get the key id (kid) from the header.
getPayload()Get the decrypted payload.
static parse(String)Parse a JSON Web Encryption (JWE) object from its compact serialization format.
serialize()Get this JWE in compact serialization form.

assign, create, create, defineProperties, defineProperty, entries, freeze, fromEntries, getOwnPropertyDescriptor, getOwnPropertyNames, getOwnPropertySymbols, getPrototypeOf, hasOwnProperty, is, isExtensible, isFrozen, isPrototypeOf, isSealed, keys, preventExtensions, propertyIsEnumerable, seal, setPrototypeOf, toLocaleString, toString, valueOf, values

algorithm: String (read-only)

Get the algorithm (alg) from the header.


encryptionMethod: String (read-only)

Get the encryption method (enc) from the header.


headerMap: Map (read-only)

Get a copy of the JWE headers as a Map.


keyID: String (read-only)

Get the key id (kid) from the header.


payload: String (read-only)

Get the decrypted payload.


JWE(header: JWEHeader, payload: String)

Construct a new JWE for encryption.

Parameters:

  • header - JWE header. This must include a valid algorithm (alg) and encryption method (enc). See decrypt(KeyRef) for a list of supported algorithms.
  • payload - Content that will be encrypted.

JWE(header: JWEHeader, payload: Bytes)

Construct a new JWE for encryption.

Parameters:

  • header - JWE header. This must include a valid algorithm (alg) and encryption method (enc). See decrypt(KeyRef) for a list of supported algorithms.
  • payload - Content that will be encrypted.

decrypt(privateKey: KeyRef): void

Decrypt the payload of this JWE object.

Elliptic Curve (EC) and RSA keys are both supported.

Supported EC key management algorithms:

  • ECDH-ES
  • ECDH-ES+A128KW
  • ECDH-ES+A192KW
  • ECDH-ES+A256KW

Supported EC curves:

  • P-256
  • P-384
  • P-521

Supported RSA key management algorithms:

  • RSA-OAEP-256
  • RSA-OAEP-384
  • RSA-OAEP-512

Supported content encryption algorithms:

  • A128CBC-HS256
  • A128CBC-HS384
  • A128CBC-HS512
  • A128GCM
  • A192GCM
  • A256GCM

Parameters:

  • privateKey - Reference to private RSA or EC key to use for decryption.

encrypt(publicKey: CertificateRef): void

Encrypt the payload of this JWE object.

Elliptic Curve (EC) and RSA keys are both supported.

See decrypt(KeyRef) for the list of supported algorithms and encryption methods.

Parameters:

  • publicKey - Reference to public RSA or EC key to use for decryption.

getAlgorithm(): String

Get the algorithm (alg) from the header.

Returns:

  • Value of the algorithm or null if missing.

getEncryptionMethod(): String

Get the encryption method (enc) from the header.

Returns:

  • Value of the encryption method or null if missing.

getHeaderMap(): Map

Get a copy of the JWE headers as a Map.

Returns:

  • Copy of the JWE headers.

getKeyID(): String

Get the key id (kid) from the header.

Returns:

  • Value of the key id or null if missing.

getPayload(): String

Get the decrypted payload.

Returns:

  • Payload or null if the payload is encrypted.

static parse(jwe: String): JWE

Parse a JSON Web Encryption (JWE) object from its compact serialization format.

Parameters:

  • jwe - JWE in compact serialization format.

Returns:

  • JWE object.

serialize(): String

Get this JWE in compact serialization form.

Returns:

  • Compact serialized object.