Generating JWE Credentials
This feature is under Public Preview. Please contact OneTrust Support to request early access.
You can configure a JSON Web Encryption (JWE) credentials and key pairs to associate on workflow webhooks and actions. This feature allows the system to encrypt or decrypt JSON body for calls that return a JSON response.
Many use cases may require both credential types in a single workflow. For example, a body can be encrypted before it is sent to an external system and when the system returns the call with an encrypted response, a decryption credential can then be used to decrypt the response. It is also true that encryption can be used for actions whose request contains a body.
For information about rotating key pairs, see Rotating Key Pairs for Integration Credentials.
Decryption Credentials
Creating a decryption credential
-
On the Integrations menu, select Credentials. The Credentials screen appears.
-
Click the Add credentials button. The Select existing system screen appears.
-
Enter your system in the Select existing system field, then click the Next button. The Enter Credential Details screen appears.
-
Provide a unique name and description for this credential.
-
Specify the Connector Type as Decryption .
-
Specify the Decryption Type as JWE .
-
In the Key Pair selection field, select Create Key Pair.
-
Provide a unique name for this key pair, a custom expiration in number of days, and your desired decryption algorithm.
-
RSA
-
Elliptic Curve (EC)
-
-
Click the Create button. The Expiration Date will generate based on the provided number of days.
Important:You can copy the public key from this screen to manually store in your external system so that the JSON payload can be encrypted before it is sent to us.
-
Click the Save button. The Credentials screen appears.
-
Search and locate your new credential to inspect or further modify. This credential can be used in OneTrust Integrations.
Associating Decryption Credentials to Actions
Decryption credentials are used in response to webhook triggers and system actions available in the Integration Builder. With decryption enabled, integrations can send an encrypted response, OneTrust will decrypt the supplied response. Note, they are not supported for OneTrust-based API actions.
-
On the Integrations menu, select Connections. The Connections screen appears.
-
Select an existing connection or create a new one.
-
In the Integration Builder screen, you will need to enable the setting Enable JWE Decryption for your given webook trigger or system-based action. This will allow you to select an existing JWE decryption credential in the account.
-
Click the Done button to close the action.
Manually Retrieving Expired Public Keys with JWKS URLs
If you need to manually update your public key value upon expiration, you can perform the following steps in the Integrations module. Alternatively, you can also instead dynamically retrieve the most recent key via the provided and static JWKS URL, as documented here.
-
On the Integrations menu, select Credentials. The Credentials screen appears.
-
Search and locate your new credential. The Credential Details screen appears.
-
Copy the JWKS URL value.
-
Navigate to Global Settings to generate a client credential or API key to use with your JWKS URL. For more information, see Managing OAuth 2.0 Client Credentials and Managing OAuth 2.0 API Keys.
Ensure that
INTEGRATIONS_JWKSscope is provided.
Making API Calls with JWKS URLs
-
In your chosen developer tool, make an API call to your JWKS URL retrieved from the credential using the created client credential. The necessary headers can be set to:
-
Content-Type: application/json
-
Authorization: Bearer {API Key or Access Token}
-
-
When the call is made, you should see a returned public key:
Encryption Credentials
Creating encryption credentials
-
On the Integrations menu, select Credentials. The Credentials screen appears.
-
Click the Add credential button. The Select existing system screen appears.
-
Enter your system in the Select existing system field, then click the Next button. The Enter Credential Details screen appears.
-
Provide a unique name and description for this credential.
-
Specify the Connector Type as Encryption .
-
Specify the Encryption Type as JWE .
-
In the Key Pair selection field, select Create Key Pair.
-
Provide a unique name for this key pair
-
Click the Create button.
-
Click the Save button. The Credentials screen appears.
-
Search and locate your new credential to inspect or further modify. This credential can now be used in OneTrust Integrations.
Associating Encryption Credentials to Actions
Encryption credentials are used in response to system actions available in the Integration Builder and any action with HTTPS protocol so that OneTrust can encrypt payloads before they are sent. Unlike the decryption credential, the encryption connector type is not supported for webhook events.
-
On the Integrations menu, select Connections. The Connections screen appears.
-
Select an existing connection or create a new one.
-
In the Integration Builder screen, you will need to enable the setting Enable JWE Encryption for your given action.
-
Click the Done button to close the action.