Skip to content

Commit d5124c7

Browse files
Merge pull request #6661 from EnterpriseDB/docs/edits_to_thales_pr6606
Edits to [TDE Thales CipherTrust client ] REST API integration #6606
2 parents 1aa9061 + df67877 commit d5124c7

File tree

4 files changed

+29
-44
lines changed

4 files changed

+29
-44
lines changed

Diff for: product_docs/docs/tde/15/secure_key/key_store/entrust/index.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ deepToC: true
66

77
## Configuration guide
88

9-
See the [EDB Postgres and Entrust KeyControl](https://www.entrust.com/sites/default/files/2024-03/edb-postgres-and-entrust-keycontrol-ig.pdf) integration guide for installation, configuration and usage instructions (including key rotation).
9+
See the [EDB Postgres and Entrust KeyControl](https://www.entrust.com/sites/default/files/2024-03/edb-postgres-and-entrust-keycontrol-ig.pdf) integration guide for installation, configuration, and usage instructions, including key rotation.

Diff for: product_docs/docs/tde/15/secure_key/key_store/thales/index.mdx

+3-3
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ description: Learn how to secure your encryption key with a Thales CipherTrust M
44
deepToC: true
55
---
66

7-
You can configure TDE to use an external key from Thales CipherTrust Manager to wrap the data encryption key with a key from the Thales key store. You can either use `pykmip`, or the Thales REST API to perform the cryptographic operations of the integration.
7+
You can configure TDE to use an external key from Thales CipherTrust Manager to wrap the data encryption key with a key from the Thales key store. You can use either pykmip or the Thales REST API to perform the cryptographic operations of the integration.
88

9-
- To use the Python library `pykmip` for cryptographic operations with Thales CipherTrust Manager, see [Using pykmip](/partner_docs/ThalesCipherTrustManager/05-UsingThalesCipherTrustManager/) in the [Implementing Thales CipherTrust Manager](/partner_docs/ThalesCipherTrustManager/) documentation for instructions. `pykmip` is a Python library that implements the KMIP industry standard for key management operations.
9+
- To use the Python library pykmip for cryptographic operations with Thales CipherTrust Manager, see [Using pykmip](/partner_docs/ThalesCipherTrustManager/05-UsingThalesCipherTrustManager/) in the [Implementing Thales CipherTrust Manager](/partner_docs/ThalesCipherTrustManager/) documentation for instructions. pykmip is a Python library that implements the KMIP industry standard for key management operations.
1010

11-
- To use Thales REST API for cryptographic operations with Thales CipherTrust Manager, [install the EDB TDE Thales REST API client](installing_thales_client) and then [configure it for usage with TDE](/tde/latest/secure_key/key_store/thales/thales_restapi). The REST API allows operations to directly connect to Thales CipherTrust, bypassing other intermediate protocols.
11+
- To use the Thales REST API for cryptographic operations with Thales CipherTrust Manager, [install the EDB TDE Thales REST API client](installing_thales_client) and then [configure it for use with TDE](/tde/latest/secure_key/key_store/thales/thales_restapi). The REST API allows operations to directly connect to Thales CipherTrust, bypassing other intermediate protocols.

Diff for: product_docs/docs/tde/15/secure_key/key_store/thales/installing_thales_client/index.mdx

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ navigation:
77
- linux_x86_64
88
---
99

10-
Select a link to access the applicable installation instructions:
10+
Select a link to access the applicable installation instructions.
1111

1212
## Linux [x86-64 (amd64)](linux_x86_64)
1313

Diff for: product_docs/docs/tde/15/secure_key/key_store/thales/thales_restapi.mdx

+24-39
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Learn how to secure your encryption key with a Thales management ke
55
deepToC: true
66
---
77

8-
You can configure TDE to use an external key from Thales CipherTrust Manager to wrap the data encryption key. This integration uses Thales REST API to allow cryptographic operations by directly connecting to Thales CipherTrust Manager, bypassing other intermediate protocols.
8+
You can configure TDE to use an external key from Thales CipherTrust Manager to wrap the data encryption key. This integration uses the Thales REST API to allow cryptographic operations by directly connecting to Thales CipherTrust Manager, bypassing other intermediate protocols.
99

1010
To implement this integration, EDB provides two scripts that simplify processes:
1111

@@ -29,8 +29,8 @@ The configuration process consists in the following steps:
2929

3030
## Prerequisites
3131

32-
- Ensure you have Python3 installed. You can check with `python3 --version`. Otherwise, [install it](https://www.python.org/downloads/).
33-
- Ensure your Python3 installation includes the base64 encode and decode library (included by default).
32+
- Ensure you have Python3 installed. You can check to see if it's installed with `python3 --version`. If it's not installed, [install it](https://www.python.org/downloads/).
33+
- Ensure your Python3 installation includes the base64 encode and decode library, which is included by default.
3434
- Install the [/jq command line JSON parser](https://jqlang.org/).
3535

3636
## Installing the EDB TDE Thales REST API client packages
@@ -41,45 +41,31 @@ See [Installing EDB TDE Thales REST](/tde/latest/secure_key/key_store/thales/ins
4141

4242
## Creating a certificate for authentication
4343

44-
Create a Certificate Signing Request (CSR) and then provide that CSR to a Certificate Authority (CA), so it can generate a certificate.
44+
Create a certificate signing request (CSR). Then provide that CSR to a certificate authority (CA) so it can generate a certificate.
4545

4646
1. Access your Thales CipherTrust Manager instance.
4747

48-
1. Navigate to the **CSR tool** under **CA**:
48+
1. Under **CA**, select **CSR Tool**.
4949

50-
![Navigate to CSR tool](./images/01_CSR_tool.png)
51-
52-
1. Create a CSR. Ensure you select the RSA option, `2048` size and then select **Create**:
53-
54-
![Create CSR](./images/02_CSR_creation.png)
50+
1. Create a CSR. Select the RSA algorithm and set the size to 2048. Select **Create**.
5551

56-
1. In the same pop-up window, after the certificate has been created, select **save csr** and **save private key** to download a `CSR.pem` and `key.pem` file.
57-
58-
![Download the CSR](./images/03_CSR_creation_download.png)
59-
60-
1. Provide a CSR to a certificate authority (CA) so it can generate a certificate. Navigate to **CA** > **Local**.
52+
1. To download a `CSR.pem` and `key.pem` file, after the certificate is created, in the same dialog box, select **save csr** and **save private key** .
6153

62-
![Navigate to local CA](./images/04_local_CA.png)
54+
1. Provide a CSR to a CA so it can generate a certificate. Under **CA**, select **Local**.
6355

64-
1. Select a CA. You can use the default local CA provided by CipherTrust. Then, select **Upload CSR**:
56+
1. Select a CA. You can use the default local CA provided by CipherTrust. Then select **Upload CSR**.
6557

66-
![Upload CSR to CA](./images/05_local_CA_selected.png)
67-
68-
1. Enter the previously assigned **Display name**, paste the contents of the downloaded `CSR.pem` file and select **Issue Certificate**:
69-
70-
![Enter CSR details to issue a certificate](./images/06_enter_pem_contents.png)
58+
1. Enter the previously assigned **Display name**, paste the contents of the downloaded `CSR.pem` file, and select **Issue Certificate**.
7159

7260
1. Download the `Certificate.pem` certificate:
7361

7462
![Download the issued certificate](./images/07_download_certificate.png)
7563

76-
1. Update your user configuration to allow certificate-based login. Navigate to **Access Management** > **Users** and select your user.
64+
1. Update your user configuration to allow certificate-based login. Under **Access Management**, select **Users** and select your user.
7765

78-
1. Under **LOGIN**, enable **Allow user to login using certificate**, and enter a Certificate Subject Distinguished Name with `CN=` prefix:
66+
1. Under **LOGIN**, enable **Allow user to login using certificate**, and enter a value in **Certificate Subject Distinguished Name**. Use a `CN=` prefix.
7967

80-
![Enable user to connect through certificate](./images/08_update_user_cert_login.png)
81-
82-
You should now have downloaded three pem files: `CSR.pem`, `key.pem` and `Certificate.pem`. Ensure you store them in an accessible location.
68+
You downloaded three .pem files: `CSR.pem`, `key.pem`, and `Certificate.pem`. Store them in an accessible location.
8369

8470
## Creating an AES key on Thales CipherTrust Manager
8571

@@ -104,13 +90,13 @@ To create an AES 256 key, you can execute the downloaded script, which ensures t
10490
export SERVER_USER='user'
10591
```
10692

107-
1. Execute `edb_tde_createkey.py` to create they key. To execute it correctly, you need:
93+
1. To create they key, execute `edb_tde_createkey.py`. To execute it correctly, you need:
10894

109-
- A key name to identify your key. Replace `key_name` in the example with an identifiable name of your choice.
95+
- A key name to identify your key. Replace `<key_name>` in the example with an identifiable name of your choice.
11096

111-
- The `uid` of the user that created the certificate. You can find the user `uid` in the Thales CipherTrust Manager, under **Access Management** > **Users**, select your user. The user `uid` information is a sequence of digits and letters, e.g. `local|285xxxfb-xxxb-4xxx-9339-2d58xxx60ae6`.
97+
- The uid of the user that created the certificate. You can find the user uid in the Thales CipherTrust Manager. Under **Access Management**, select **Users**, then select your user. The user uid information is a sequence of digits and letters, for example, `local|285xxxfb-xxxb-4xxx-9339-2d58xxx60ae6`.
11298

113-
- The path to the `edb_tde_createkey.py` script installed by the packages. In RPM-based systems, the default location is `/usr/edb/tde/rest/client/edb_tde_createkey.py` and in Debian, `/usr/lib/edb/tde/rest/client/edb_tde_createkey.py`.
99+
- The path to the `edb_tde_createkey.py` script installed by the packages. In RPM-based systems, the default location is `/usr/edb/tde/rest/client/edb_tde_createkey.py`. In Debian, it's `/usr/lib/edb/tde/rest/client/edb_tde_createkey.py`.
114100

115101
Replace these values in the example:
116102

@@ -119,16 +105,16 @@ To create an AES 256 key, you can execute the downloaded script, which ensures t
119105
<key_name> "<local|285xxxfb-xxxb-4xxx-9339-2d58xxx60ae6>"
120106
__OUTPUT__
121107
{"id":"f3d59d0a8fce45c7bdf3311bc51c4606292def6195674cf393bda793892f23cb"
122-
"uri":"kylo:kylo:vault:keys:key_name-v0"
108+
"uri":"kylo:kylo:vault:keys:<key_name>-v0"
123109
"account":"kylo:kylo:admin:accounts:kylo"
124110
"application":"ncryptify:gemalto:admin:apps:kylo"
125111
"devAccount":"ncryptify:gemalto:admin:accounts:gemalto"
126-
"createdAt":"2025-03-12T10:01:03.945017Z","name":"key_name"
112+
"createdAt":"2025-03-12T10:01:03.945017Z","name":"<key_name>"
127113
"updatedAt":"2025-03-12T10:01:03.945017Z"
128114
"activationDate":"2025-03-12T10:01:03.941793Z","state":"Active"
129115
"usage":"blob","usageMask":12,"meta":{"ownerId":"local
130116
a0a89746-5db8-47d3-a64f-149b89d552a5"},"objectType":"Symmetric Key"
131-
"aliases":[{"alias":"key_name","type":"string","index":0}]
117+
"aliases":[{"alias":"<key_name>","type":"string","index":0}]
132118
"sha1Fingerprint":"5d1b81ce34778509"
133119
"sha256Fingerprint":"8b5c455ea3a5689409ef50a0b762d94ed64c8e331116bec6be042
134120
12bc302c9e","defaultIV":"a4aa6956fe05512b63841f51be28b4ae","version":0
@@ -140,7 +126,7 @@ To create an AES 256 key, you can execute the downloaded script, which ensures t
140126
```
141127

142128
!!!note
143-
Note down the key `id` (first line of output), as you will need it later.
129+
Record the key `id` (first line of output), as you'll need it later.
144130

145131
Alternatively, you can create a key manually using the Thales CipherTrust Manager portal.
146132

@@ -156,11 +142,11 @@ Next, export the encryption and decryption commands as environment variables for
156142

157143
1. Set the wrapping and unwrapping commands that will perform encryption and decryption. To set them correctly, you need:
158144

159-
- The `key_name` you assigned to the key during creation.
145+
- The `key_name` value you assigned to the key during creation.
160146

161147
- The AES key `id`, which you can find in the output of the key creation command or look up in the Thales CipherTrust Manager portal.
162148

163-
- The path to the `edb_tde_crypto.py` script installed by the packages. In RPM-based systems, the default location is `/usr/edb/tde/rest/client/edb_tde_crypto.py`, and in Debian, `/usr/lib/edb/tde/rest/client/edb_tde_crypto.py`.
149+
- The path to the `edb_tde_crypto.py` script installed by the packages. In RPM-based systems, the default location is `/usr/edb/tde/rest/client/edb_tde_crypto.py`. In Debian, it's `/usr/lib/edb/tde/rest/client/edb_tde_crypto.py`.
164150

165151
Replace these values in the example:
166152

@@ -169,5 +155,4 @@ Next, export the encryption and decryption commands as environment variables for
169155
export PGDATAKEYUNWRAPCMD='python3 /usr/edb/tde/rest/client/edb_tde_crypto.py decrypt %p <id> | jq -r '.plaintext' | base64 -d'
170156
```
171157

172-
1. You can now [initialize a TDE-enabled database cluster](/tde/latest/initdb_tde_options/#option---data-encryption-or--y) with `initdb --data-encryption`. TDE will fall back on the exported `PGDATAKEYWRAPCMD` and `PGDATAKEYUNWRAPCMD` commands for the wrapping and unwrapping of data encryption keys.
173-
158+
1. You can now [initialize a TDE-enabled database cluster](/tde/latest/initdb_tde_options/#option---data-encryption-or--y) with `initdb --data-encryption`. TDE falls back on the exported `PGDATAKEYWRAPCMD` and `PGDATAKEYUNWRAPCMD` commands for wrapping and unwrapping data encryption keys.

0 commit comments

Comments
 (0)