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 | Description |
|---|---|
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 | Description |
|---|---|
| JWE(JWEHeader, String) | Construct a new JWE for encryption. |
| JWE(JWEHeader, Bytes) | Construct a new JWE for encryption. |
| Method | Description |
|---|---|
| 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.
- header - JWE header. This must include a valid algorithm (
- 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.
- header - JWE header. This must include a valid algorithm (
- 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
RSAorECkey 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
RSAorECkey to use for decryption.
- publicKey - Reference to public
- 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.