Class JWE
dw.crypto
Class JWE
Object
dw.crypto.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.
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.