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.
Property Summary
Constructor Summary
Method Summary
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
Property Details
algorithm
- algorithm: String
(read-only)
Get the algorithm (alg) from the header.
encryptionMethod
- 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
- keyID: String
(read-only)
Get the key id (kid) from the header.
payload
- payload: String
(read-only)
Get the decrypted payload.
Constructor Details
- 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.
Method Details
decrypt(KeyRef)
- 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:
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(CertificateRef)
- 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()
- 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(): Map
Get a copy of the JWE headers as a Map.
Returns:
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(String)
- 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:
serialize()
- serialize(): String
Get this JWE in compact serialization form.
Returns:
- Compact serialized object.