Script: Class dw.crypto.JWE

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.

Properties

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.

Constructor Summary

This class does not have a constructor, so you cannot create it directly.

Method Summary

decrypt(privateKey : KeyRef) : void

Decrypt the payload of this JWE object.

getAlgorithm() : String

Get the algorithm (alg) from the header.

getEncryptionMethod() : String

Get the encryption method (enc) from the header.

getHeaderMap() : Map

Get a copy of the JWE headers as a Map.

getKeyID() : String

Get the key id (kid) from the header.

getPayload() : String

Get the decrypted payload.

static parse(jwe : String) : JWE

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

Methods inherited from class Object

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

Method Detail

decrypt

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.

getAlgorithm

getAlgorithm() : String

Get the algorithm (alg) from the header.

Returns:

Value of the algorithm or null if missing.


getEncryptionMethod

getEncryptionMethod() : String

Get the encryption method (enc) from the header.

Returns:

Value of the encryption method or null if missing.


getHeaderMap

getHeaderMap() : Map

Get a copy of the JWE headers as a Map.

Returns:

Copy of the JWE headers.


getKeyID

getKeyID() : String

Get the key id (kid) from the header.

Returns:

Value of the key id or null if missing.


getPayload

getPayload() : String

Get the decrypted payload.

Returns:

Payload or null if the payload is encrypted.


parse

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.