Setting up two Thales CipherTrust Cloud Key Manager (CCKM) Appliances inside OCI, create a cluster between them and configure one of them as Certificate Authority (CA): Difference between revisions

From Iwan
Jump to: navigation, search
(Created page with "= Introduction = Organizations increasingly seek greater control over their cryptographic keys in today's cloud-first landscape to meet security, compliance, and data sovereignty requirements. '''Thales CipherTrust Cloud Key Manager (CCKM)''' offers a centralized solution for managing encryption keys and secrets across multi-cloud and hybrid environments—including Oracle Cloud Infrastructure (OCI). A key feature of this architecture is support for '''Hold Your Own Key...")
 
 
(3 intermediate revisions by the same user not shown)
Line 11: Line 11:
By the end of this guide, you will have a robust and scalable CCKM environment that supports key use cases such as '''BYOK''' (Bring Your Own Key), '''HYOK''', and centralized key lifecycle management. This setup is ideal for enterprises looking to extend their key control into the cloud while adhering to the highest data security standards.
By the end of this guide, you will have a robust and scalable CCKM environment that supports key use cases such as '''BYOK''' (Bring Your Own Key), '''HYOK''', and centralized key lifecycle management. This setup is ideal for enterprises looking to extend their key control into the cloud while adhering to the highest data security standards.


[[File:1. Setting up two Thales CipherTrust Cloud Key Manager (CCKM) Appliances inside OCI, create a cluster between them and configure one of them as Certificate Authority (CA)-04072025.png]]
[[File:profile1-04072025.png]]


> [!NOTE] CCKM vs CTM
{{note|
CCKM vs CTM
In this tutorial, the terms '''CCKM''' (CipherTrust Cloud Key Manager) and '''CTM''' (CipherTrust Manager) are used interchangeably. Both refer to the same product.
In this tutorial, the terms '''CCKM''' (CipherTrust Cloud Key Manager) and '''CTM''' (CipherTrust Manager) are used interchangeably. Both refer to the same product.
}}


= The Steps =
= The Steps =
Line 28: Line 30:
* [ ] STEP 09: Configure Thales CipherTrust Cloud Key Manager (CCKM) Appliance Clustering
* [ ] STEP 09: Configure Thales CipherTrust Cloud Key Manager (CCKM) Appliance Clustering


= STEP 01: Review the OCI VCN Infrastructure =
= STEP 01 - Review the OCI VCN Infrastructure =


Before deploying the Thales CipherTrust Cloud Key Manager (CCKM) appliances, it's essential to understand the underlying Oracle Cloud Infrastructure (OCI) network architecture that will support them.
Before deploying the Thales CipherTrust Cloud Key Manager (CCKM) appliances, it's essential to understand the underlying Oracle Cloud Infrastructure (OCI) network architecture that will support them.
Line 45: Line 47:
[[File:8f87d1e234f508a47b42399a011f1463.png|800px]]
[[File:8f87d1e234f508a47b42399a011f1463.png|800px]]


= STEP 02: Deploy the first Thales CipherTrust Cloud Key Manager (CCKM) Appliance =
= STEP 02 - Deploy the first Thales CipherTrust Cloud Key Manager -CCKM- Appliance =


* Official Thales documentation for CCKM version 2.19: [[https://thalesdocs.com/ctp/cm/2.19/get_started/deployment/virtual-deployment/oracle-cloud-deployment/index.html Oracle Cloud Deployment]]
* Official Thales documentation for CCKM version 2.19: [[https://thalesdocs.com/ctp/cm/2.19/get_started/deployment/virtual-deployment/oracle-cloud-deployment/index.html Oracle Cloud Deployment]]
Line 275: Line 277:
[[File:a7832a2b6397cbfb577446ebec895752.png|800px]]
[[File:a7832a2b6397cbfb577446ebec895752.png|800px]]


= STEP 03: Do the initial configuration on the first Thales CipherTrust Cloud Key Manager (CCKM) Appliance =
= STEP 03 - Do the initial configuration on the first Thales CipherTrust Cloud Key Manager -CCKM- Appliance =


Now that the first CCKM appliance is deployed and accessible, it's time to perform the initial configuration. This includes setting up the system clock using an NTP server and activating the evaluation license or the actual license provided by Thales.
Now that the first CCKM appliance is deployed and accessible, it's time to perform the initial configuration. This includes setting up the system clock using an NTP server and activating the evaluation license or the actual license provided by Thales.
Line 320: Line 322:
[[File:3cefc0206a464520c976afdf4036562c.png|800px]]
[[File:3cefc0206a464520c976afdf4036562c.png|800px]]


= STEP 04: Deploy the second Thales CipherTrust Cloud Key Manager (CCKM) Appliance and do the initial configuration on the CCKM =
= STEP 04 - Deploy the second Thales CipherTrust Cloud Key Manager -CCKM- Appliance and do the initial configuration on the CCKM =


Follow the steps provided in steps 02 and 03 to deploy the second CCKM in the ASH region.
Follow the steps provided in steps 02 and 03 to deploy the second CCKM in the ASH region.
Line 340: Line 342:
[[File:560f844e85f7fd599fc7dcf97135b7ba.png|800px]]
[[File:560f844e85f7fd599fc7dcf97135b7ba.png|800px]]


= STEP 05: Review the connection between the Thales CipherTrust Cloud Key Manager (CCKM) Appliances (RPC) =
= STEP 05 - Review the connection between the Thales CipherTrust Cloud Key Manager -CCKM- Appliances with RPC =


To prepare for high availability and clustering between the two Thales CipherTrust Cloud Key Manager (CCKM) appliances, it's essential to ensure proper connectivity between the regions in which they are deployed.
To prepare for high availability and clustering between the two Thales CipherTrust Cloud Key Manager (CCKM) appliances, it's essential to ensure proper connectivity between the regions in which they are deployed.
Line 352: Line 354:
* This is done to simplify Proof of Concept (PoC) testing and eliminate connectivity-related issues during the initial setup and clustering process.
* This is done to simplify Proof of Concept (PoC) testing and eliminate connectivity-related issues during the initial setup and clustering process.


> '''Note:''' In a production environment, it is strongly recommended to restrict traffic to '''only the required ports''' for clustering and management.  
 
> Refer to Thales documentation for the exact port requirements (e.g., TCP ports like 443, 8443, 5432, and others used by the CCKM cluster protocol).
{{note|
In a production environment, it is strongly recommended to restrict traffic to only the required ports for clustering and management.  
Refer to Thales documentation for the exact port requirements (e.g., TCP ports like 443, 8443, 5432, and others used by the CCKM cluster protocol).
}}


This cross-region network setup ensures that the CCKMs can communicate seamlessly during the cluster creation process, which we'll address in one of the following sections.
This cross-region network setup ensures that the CCKMs can communicate seamlessly during the cluster creation process, which we'll address in one of the following sections.
Line 359: Line 364:
[[File:9815d91e24c347852171be667519207b.png|800px]]
[[File:9815d91e24c347852171be667519207b.png|800px]]


= STEP 06: DNS Configuration =
= STEP 06 - DNS Configuration =


* Official OCI documentation: [[https://docs.oracle.com/en-us/iaas/Content/DNS/Tasks/create-private-zone.htm Creating a Private DNS Zone]]
* Official OCI documentation: [[https://docs.oracle.com/en-us/iaas/Content/DNS/Tasks/create-private-zone.htm Creating a Private DNS Zone]]
Line 365: Line 370:
Proper DNS resolution is required to enable seamless communication between the two appliances. This is especially important for secure clustering, certificate handling, and overall service stability.
Proper DNS resolution is required to enable seamless communication between the two appliances. This is especially important for secure clustering, certificate handling, and overall service stability.


> '''Note:''' From this point forward, we will refer to the '''Thales CipherTrust Cloud Key Manager (CCKM)''' appliances as '''CTM''', short for '''Cyber Trust Manager'''.
{{note|
From this point forward, we will refer to the '''Thales CipherTrust Cloud Key Manager (CCKM)''' appliances as '''CTM''', short for '''Cyber Trust Manager'''.
}}


While using a '''custom internal DNS server''' is possible, we are leveraging '''Oracle Cloud Infrastructure (OCI) DNS Services''' with a '''private DNS zone''' in this deployment. This allows us to assign meaningful, Fully Qualified Domain Names (FQDNs) to the CTMs and ensures they can communicate across regions without relying on static IPs.
While using a '''custom internal DNS server''' is possible, we are leveraging '''Oracle Cloud Infrastructure (OCI) DNS Services''' with a '''private DNS zone''' in this deployment. This allows us to assign meaningful, Fully Qualified Domain Names (FQDNs) to the CTMs and ensures they can communicate across regions without relying on static IPs.
Line 468: Line 475:
[[File:e3d4864a0fce938850e292ae2b050fd4.png|800px]]
[[File:e3d4864a0fce938850e292ae2b050fd4.png|800px]]


= STEP 07: Configure the first Thales CipherTrust Cloud Key Manager (CCKM) Appliance as a Certificate Authority (CA) =
= STEP 07 - Configure the first Thales CipherTrust Cloud Key Manager -CCKM- Appliance as a Certificate Authority -CA- =


* Official Thales documentation for CCKM version 2.19: [[https://thalesdocs.com/ctp/cm/2.19/admin/cm_admin/local-ca/index.html Certificate Authority]]
* Official Thales documentation for CCKM version 2.19: [[https://thalesdocs.com/ctp/cm/2.19/admin/cm_admin/local-ca/index.html Certificate Authority]]
Line 486: Line 493:
[[File:43aabed30b976d6e93c7d40fa66b849c.png|800px]]
[[File:43aabed30b976d6e93c7d40fa66b849c.png|800px]]
= STEP 08: Create a CSR for both Thales CipherTrust Cloud Key Manager (CCKM) Appliances and sign them by the CA =
= STEP 08 - Create a CSR for both Thales CipherTrust Cloud Key Manager -CCKM- Appliances and sign them by the CA =


* Official Thales documentation: [[https://thalesdocs.com/ctp/ig/openpgp/pgp/pgp_advanced_topics/pgp-setting_ssl/index.html#creating-a-csr-on-the-console Creating a CSR on the Console]]‌‌
* Official Thales documentation: [[https://thalesdocs.com/ctp/ig/openpgp/pgp/pgp_advanced_topics/pgp-setting_ssl/index.html#creating-a-csr-on-the-console Creating a CSR on the Console]]‌‌
Line 720: Line 727:
[[File:7a98d84342745f1486ecacb8b746429f.png|800px]]
[[File:7a98d84342745f1486ecacb8b746429f.png|800px]]


= STEP 09: Configure Thales CipherTrust Cloud Key Manager (CCKM) Appliance Clustering =
= STEP 09 - Configure Thales CipherTrust Cloud Key Manager -CCKM- Appliance Clustering =


* Official Thales documentation for CCKM version 2.19: [[https://thalesdocs.com/ctp/cm/2.19/admin/cm_admin/clusters-and-nodes/index.html#creating-a-new-cluster-configuration Creating a New Cluster Configuration]]
* Official Thales documentation for CCKM version 2.19: [[https://thalesdocs.com/ctp/cm/2.19/admin/cm_admin/clusters-and-nodes/index.html#creating-a-new-cluster-configuration Creating a New Cluster Configuration]]
Line 824: Line 831:
In this tutorial, you successfully set up two Thales CipherTrust Cloud Key Manager (CCKM) Appliances within Oracle Cloud Infrastructure (OCI), established a secure cluster between them, and configured one appliance as the Certificate Authority (CA). You have built a highly available, secure key management environment by following the step-by-step process—from deploying the appliances and configuring the network infrastructure to creating and signing CSRs and enabling clustering. This setup ensures robust cryptographic operations with centralized certificate management, optimizing security and operational resilience in your OCI environment.
In this tutorial, you successfully set up two Thales CipherTrust Cloud Key Manager (CCKM) Appliances within Oracle Cloud Infrastructure (OCI), established a secure cluster between them, and configured one appliance as the Certificate Authority (CA). You have built a highly available, secure key management environment by following the step-by-step process—from deploying the appliances and configuring the network infrastructure to creating and signing CSRs and enabling clustering. This setup ensures robust cryptographic operations with centralized certificate management, optimizing security and operational resilience in your OCI environment.


If you want to implement '''Oracle Hold Your Own Key (HYOK)''' using '''CipherTrust Manager without the API Gateway option''', follow this guide: '''“Set up Oracle Hold Your Own Key (HYOK) with the CipherTrust Manager (without API Gateway option)”'''
If you want to implement '''Oracle Hold Your Own Key (HYOK)''' using '''CipherTrust Manager without the API Gateway option''', follow this guide: '''“[https://www.iwanhoogendoorn.nl/index.php/Set_up_Oracle_Hold_your_Own_Key_(HYOK)_with_the_CipherTrust_Manager_(without_API_Gateway_option) Set up Oracle Hold Your Own Key (HYOK) with the CipherTrust Manager (without API Gateway option).]”'''


If you want to implement '''Oracle Hold Your Own Key (HYOK)''' using '''CipherTrust Manager with the API Gateway option''', follow this guide:   
If you want to implement '''Oracle Hold Your Own Key (HYOK)''' using '''CipherTrust Manager with the API Gateway option''', follow this guide:   
'''“Set up Oracle Hold Your Own Key (HYOK) with the CipherTrust Manager (with API Gateway option)”'''
'''“[https://www.iwanhoogendoorn.nl/index.php/Set_up_Oracle_Hold_your_Own_Key_(HYOK)_with_the_CipherTrust_Manager_(with_API_Gateway_option) Set up Oracle Hold Your Own Key (HYOK) with the CipherTrust Manager (with API Gateway option).]”'''
 


[[Category:Oracle Cloud]]
[[Category:Oracle Cloud]]

Latest revision as of 12:25, 11 July 2025

Introduction

Organizations increasingly seek greater control over their cryptographic keys in today's cloud-first landscape to meet security, compliance, and data sovereignty requirements. Thales CipherTrust Cloud Key Manager (CCKM) offers a centralized solution for managing encryption keys and secrets across multi-cloud and hybrid environments—including Oracle Cloud Infrastructure (OCI). A key feature of this architecture is support for Hold Your Own Key (HYOK), allowing you to retain complete control over your encryption keys even when using third-party cloud services.

This tutorial walks you through the complete setup of two Thales CCKM appliances inside OCI, including:

  • Deploying two CCKM instances
  • Creating a high-availability cluster between them
  • Configuring one of the appliances as a Certificate Authority (CA) for issuing and managing internal certificates

By the end of this guide, you will have a robust and scalable CCKM environment that supports key use cases such as BYOK (Bring Your Own Key), HYOK, and centralized key lifecycle management. This setup is ideal for enterprises looking to extend their key control into the cloud while adhering to the highest data security standards.

Profile1-04072025.png

Note

CCKM vs CTM In this tutorial, the terms CCKM (CipherTrust Cloud Key Manager) and CTM (CipherTrust Manager) are used interchangeably. Both refer to the same product.

The Steps

  • [ ] STEP 01: Review the OCI VCN Infrastructure
  • [ ] STEP 02: Deploy the first Thales CipherTrust Cloud Key Manager (CCKM) Appliance
  • [ ] STEP 03: Do the initial configuration on the first Thales CipherTrust Cloud Key Manager (CCKM) Appliance
  • [ ] STEP 04: Deploy the second Thales CipherTrust Cloud Key Manager (CCKM) Appliance and do the initial configuration on the CCKM
  • [ ] STEP 05: Review the connection between the Thales CipherTrust Cloud Key Manager (CCKM) Appliances (RPC)
  • [ ] STEP 06: DNS Configuration
  • [ ] STEP 07: Configure the first Thales CipherTrust Cloud Key Manager (CCKM) Appliance as a Certificate Authority (CA)
  • [ ] STEP 08: Create a CSR for both Thales CipherTrust Cloud Key Manager (CCKM) Appliances and sign them by the CA
  • [ ] STEP 09: Configure Thales CipherTrust Cloud Key Manager (CCKM) Appliance Clustering

STEP 01 - Review the OCI VCN Infrastructure

Before deploying the Thales CipherTrust Cloud Key Manager (CCKM) appliances, it's essential to understand the underlying Oracle Cloud Infrastructure (OCI) network architecture that will support them.

In this setup, we are using two separate Virtual Cloud Networks (VCNs):

  • One VCN is in the Amsterdam (AMS) OCI region.
  • The other VCN is in the Ashburn (ASH) OCI region.

These two regions are connected via a Remote Peering Connection (RPC), enabling secure and low-latency communication between the CCKM appliances across regions. This cross-region connectivity is essential for high availability, redundancy, and clustering of the CCKMs.

The CCKM appliances will be deployed in public subnets within each VCN for this tutorial. This approach simplifies initial access and management over the internet—for example, through SSH or the web interface. However, it's important to note that best practice in production environments is to deploy these appliances in private subnets and manage access through a bastion host or a stepstone (jump) server. This reduces the exposure of the appliances to the public internet and aligns with a more secure network posture.

We'll deploy the CCKMs within this reviewed VCN setup in the next step.

8f87d1e234f508a47b42399a011f1463.png

STEP 02 - Deploy the first Thales CipherTrust Cloud Key Manager -CCKM- Appliance

Before deploying the first Thales CipherTrust Cloud Key Manager (CCKM) appliance, we must ensure the required image is available in Oracle Cloud Infrastructure (OCI).

While the official Thales documentation typically recommends opening a support case to obtain an Object Storage URL for directly importing the CCKM image into OCI, we'll be using an alternative method.

We've received a local .ova file from Thales (610-000612-025_SW_VMware_CipherTrust_Manager_v2.19.0_RevA.ova). Instead of using the provided URL, we will:

  1. Extract the .vmdk file from the .ova archive
  2. Upload the .vmdk file to an OCI Object Storage bucket
  3. Create a custom image in OCI from the .vmdk file
  4. Deploy the CCKM instance using this custom image

This method gives us complete control over the image import process and is especially useful in air-gapped or custom deployment scenarios.

  • Store the 610-000612-025_SW_VMware_CipherTrust_Manager_v2.19.0_RevA.ova file inside a new folder on the local disk.

A60ae676bb82b2f93864a785da983ca8.png

  • Extract the .ova file.

Ad30b987533e6471e5f92ceae815fc40.png

  • Notice the .vmdk file in the extracted folder.

Bf0d3fdd8c97cf92bbc31f93d2e8700d.png

With the OCI network infrastructure, we're ready to deploy the first Thales CipherTrust Cloud Key Manager (CCKM) appliance in the Amsterdam (AMS) region.

  • Log in to the [OCI Console].
  • From the navigation menu, go to:
   StorageObject StorageBuckets

026987354f20f49ca1c885fdf9e53887.png

  • Make sure you're in the correct Compartment.
  • Click Create Bucket.

090fa4214aefc9cfb5ff9baaf5667628.png

  • Configure the following:
    • Bucket Name: e.g., CCKM_Bucket
    • Storage Tier: Standard (default).
    • Leave all other settings at default (unless encryption or access policies are required for your use case).
  • Click Create to finish.

1a159ce11a6a7a1d5921eb55b4afb5cd.png

  • Click on the newly created Storage Bucket.

4487f170cb15f685fc60183672613dcd.png

  • Scroll down.

E8830f0dda8e4c314770581848849737.png

  • Click Upload.

937f1d74d73899c90091450e44bafff8.png

  • Configure the following:
    • Object Name Prefix: e.g., 610-000612-025_SW_VMware_CipherTrust_Manager_v2.19.0_RevA
  • Leave all other settings at default.
  • Select your .vmdk file (e.g., k170v-2.19.0+14195-disk1.vmdk) from your local machine.
  • Click Upload and wait for the process to complete.

Bb231b68262f93660d5363d3da1a1426.png

  • When the upload is finished, click on Close.

1b4ecfec1c682c4f218cc23d070eb845.png

  • Notice that the .vmdk file is uploaded.

718adf891a0454d43d95cf6c6466e1b1.png

After uploading the .vmdk file to your Object Storage bucket, follow these steps to import it as a custom image.

  • In the [OCI Console], go to the navigation menu.
  • Navigate to:
   ComputeCustom Images

Bc75ccd81b1b9512f82539d7f985e1a4.png

  • Click Import Image.

C15cfaa362c0b26ed5c8653b0b735abc.png

  • Configure the following:
  • Name: e.g., 610-000612-025_SW_VMware_CipherTrust_Manager_v2.19.0_RevA
  • Operating System Version: Match the OS inside the CCKM image (check Thales documentation—typically a version of Debian or Ubuntu).
  • Import from an Object Storage bucket (the one we created in the previous section).
  • Select the object we uploaded in the previous section (the .vmdk file).
  • Image Type: vmdk
  • Click Import Image.

C14d2a4357d2d5cd51659bee8cd1fe15.png

  • Scroll down.

2058248522b8e16f5a7eac2efda4b9b9.png

  • The import state is in progress, with a percentage completed while importing.

Beabfabeb13c82550e8063bb89cd6b44.png

  • When the image import is completed, the image will be available.

7ae2af8248e70f36ad96bd6d6ab131cc.png

  • In the [OCI Console], open the navigation menu.
  • Navigate to: ComputeInstances.

E8d4ff0bb6d4f6d68d9b4542823407c6.png

  • Click Create Instance.

5f6e6a7db19a85f83ca50fc27f6e4beb.png

  • Name your Instance, e.g., CCKM-1.
  • Choose any available AD in the selected region (e.g., AD-1 in Amsterdam).
  • Scroll down.

64ef971a05e593d4569102b212e8602f.png

  • Click Change image under the Image and shape section.
  • Select the Custom Images tab.

Cecce727c344eaf5dcac46a317248fdd.png

  • Select My images.
  • Select Custom images
  • Choose your imported image (e.g., 610-000612-025_SW_VMware_CipherTrust_Manager_v2.19.0_RevA)
  • Click Select Image,

7c7afde3d0ca25c78e178733d89aa687.png

  • Select a shape (e.g., VM.Standard.E5.Flex) and configure OCPU and memory.

> Check the minimum spec requirements from Thales for CCKM (usually at least 2 OCPU / 8 GB RAM).

Dfa635b91747d5a20e1ee623e6cefaa0.png

  • Select your previously created VCN and subnet
  • Use a Public Subnet if you want direct SSH/web access (or private subnet with Bastion if following best practices)

0443180e0fb84a0373d69d0053188fd8.png

  • Assign the IP address automatically.
  • Enable Assign a public IPv4 address/
  • Scroll down.

0433226f14b0bb19a7d5bd90e705c2ac.png

  • Upload a .pub file
  • This key will be used to access the VM via SSH.
  • Scroll down.
  • Click on Create

3eacab3e48560299609ac789e475ad77.png

The Instance state will be PROVISIONING.

B6ca4478a1eaf14b6ec734d0b2bf01b0.png

  • When the PROVISIONING has been completed successfully, the Instance state will change to RUNNING.
  • Notice the public and private IP addresses we will need for configuration and management later.

9359a8f178480a4cadefbf46f7173b6c.png

  • To test SSH, I am using an application called Royal TSX, where I configured the SSH session.

6c6c38f63dee44cd2c8c84ab0ce4950a.png

  • In the credentials tab (of the Royal TSX session), I have specified that the username should be ksadmin.

Be83951381e351a577496ded7e4b4ec7.png

  • Make sure you also select the corresponding Private Key.

03a5814875bf5c781f4cb187bcf10ddf.png

  • Log in to the newly deployed CCKM with SSH.

D21d7cfe8ccb57f8b0fab1c982554520.png

  • We will use the web GUI to configure the CCKM.
  • Browse to the public IP address (or private IP if you connect internally) using your web browser.
  • Any CA can not validate the self-signed certificate, so click Advanced.

F70ff85ba39cd4f6ae0089cff9c1eadb.png

  • Proceed with the connection anyway.

Ad68af03b71b16d931ce1168c219a197.png

  • You might see the following error, which means that not all services on the Instance have been started.
  • Wait for all the services to have started; this can take up to 5 minutes.

Bdacb4f4a2864844f3418ca3f68b3893.png

  • When all services are started, you get a message that all services are okay.

493406ab2e2a5350b635f7efb1ca16e7.png

  • Log in using:
  • Username: admin
  • Password: admin

9a2b5b94b1974cb40c30bf01bc769b3d.png

  • After the first login, you will be prompted to change the password.
  • Change the password by following the instructions.

18f70ea5870e5e5ec6d07e93085f32d3.png

  • Log in using your new password.

4c1e2b6ade7383098c689d45f3670eaa.png

  • Notice that you are logged in, and the CCKM has been deployed successfully.

59ec962bc7e3a7c9c7bf18d1fe630ea0.png

The diagram below illustrates the current state of our deployment so far.

A7832a2b6397cbfb577446ebec895752.png

STEP 03 - Do the initial configuration on the first Thales CipherTrust Cloud Key Manager -CCKM- Appliance

Now that the first CCKM appliance is deployed and accessible, it's time to perform the initial configuration. This includes setting up the system clock using an NTP server and activating the evaluation license or the actual license provided by Thales.

These steps ensure the appliance is operating with accurate time—critical for certificate management, logging, and synchronization—and is fully functional during the evaluation or setup phase.

  • Navigate to: Admin SettingsNTP
  • Select Add NTP Server

Dc3d7c810b46db9ac3be803a40dc2103.png

  • Enter a reliable NTP server's hostname or IP address (e.g., 169.254.169.254 (Oracle's public NTP Server IP) or your organization's internal NTP source).
  • Click Add NTP Server

213ea1ed5cf0ffbf1d24a8a2e34566bc.png

  • Notice the message that the NTP Server was added successfully.
  • Click on Close.

Fec69d413017f322105200fdaefce366.png

  • Verify that the time is synchronized correctly.

D262ab3094c30acb7ce1f580303f612d.png

  • Go to: Admin SettingsLicensing.
  • Click Start CiperTrust Platform Evaluation.

516da3f1485ee7000d2496667fa64c99.png

  • Scroll down.

 5b7480f2a076bb930b1b4e9ccbbd37b0.png

  • Click Start CiperTrust Platform Evaluation.

29465270a192051bc96cefa4a1c8a203.png

  • It will take a few minutes before the license is activated.

Eb07d200b9925b6a34b1fd2c2ddf754b.png

  • Review the activated license.

3cefc0206a464520c976afdf4036562c.png

STEP 04 - Deploy the second Thales CipherTrust Cloud Key Manager -CCKM- Appliance and do the initial configuration on the CCKM

Follow the steps provided in steps 02 and 03 to deploy the second CCKM in the ASH region.

  • Make sure the second CCKM is deployed and RUNNING.

A73fc0373dea622a9668632d99058690.png

  • Also, test the connection between SSH and the second CCKM.

E5ea4e527cebe01e9638d76572d62513.png

  • Also, test the connection between WEB and the second CCKM.

66d5bb54dc55c7f3d1f7a6f4f83d6a0b.png

The diagram below illustrates the current state of our deployment so far.

560f844e85f7fd599fc7dcf97135b7ba.png

STEP 05 - Review the connection between the Thales CipherTrust Cloud Key Manager -CCKM- Appliances with RPC

To prepare for high availability and clustering between the two Thales CipherTrust Cloud Key Manager (CCKM) appliances, it's essential to ensure proper connectivity between the regions in which they are deployed.

In our setup, a Remote Peering Connection (RPC) has been established between the Amsterdam (AMS) and Ashburn (ASH) OCI regions. This RPC enables secure, low-latency communication between the two VCNs where each CCKM appliance resides.

What Has Been Configured:

  • Remote Peering Connection (RPC) is established and active between AMS and ASH.
  • Routing tables are appropriately configured to ensure traffic between the two VCNs is forwarded correctly.
  • Security lists in both regions are currently configured to allow all ingress and egress traffic.
  • This is done to simplify Proof of Concept (PoC) testing and eliminate connectivity-related issues during the initial setup and clustering process.


Note

In a production environment, it is strongly recommended to restrict traffic to only the required ports for clustering and management. Refer to Thales documentation for the exact port requirements (e.g., TCP ports like 443, 8443, 5432, and others used by the CCKM cluster protocol).

This cross-region network setup ensures that the CCKMs can communicate seamlessly during the cluster creation process, which we'll address in one of the following sections.

9815d91e24c347852171be667519207b.png

STEP 06 - DNS Configuration

Proper DNS resolution is required to enable seamless communication between the two appliances. This is especially important for secure clustering, certificate handling, and overall service stability.

Note

From this point forward, we will refer to the Thales CipherTrust Cloud Key Manager (CCKM) appliances as CTM, short for Cyber Trust Manager.

While using a custom internal DNS server is possible, we are leveraging Oracle Cloud Infrastructure (OCI) DNS Services with a private DNS zone in this deployment. This allows us to assign meaningful, Fully Qualified Domain Names (FQDNs) to the CTMs and ensures they can communicate across regions without relying on static IPs.

  • Private DNS Zone Name: oci-thales.lab
  • Scope: Private
  • Associated VCNs: Both AMS and ASH VCNs (to allow cross-region name resolution)

We've created two A records within the oci-thales.lab zone, pointing to the private IPs of each CTM appliance:

Hostname FQDN Points to
ctm1 ctm1.oci-thales.lab Private IP of CTM in AMS
ctm2 ctm2.oci-thales.lab Private IP of CTM in ASH

Using FQDNs makes managing certificates and cluster configurations easier and avoids coupling the configuration to fixed IPs.

8dd665901451ec362c5e48d557f05c4a.png

  • Make sure you are in the AMS region.
  • In the OCI Console, open the navigation menu.
  • Go to: HomeVirtual Cloud Networks

Cf2947d7cff153f35a922ed6cd4ba27c.png

  • Click on the VCN.

742b596dfc401a7aac5fe1b4dd9a28db.png

  • Click on the DNS Resolver (for that VCN).

 0564be7e9fde5d76ec488c8b57c87f75.png

  • Click on the Default Private View (for that DNS Resolver and VCN).

Ecaedd19b487fead27c720c79aca2ffa.png

  • Click Create Zone

F0d1814d06483d7b66a9929d1cc35bed.png

  • Choose:
    • Zone Name: oci-thales.lab
    • Compartment: Select the correct one
  • Click Create

4280602b6a5204789ed4179a9d32594c.png

  • Click on the created zone.

85083987d855abe2a297f8b369cef928.png

  • Click on Manage Records

4df11d76ddc77a4295c846391d83893f.png

  • Click on Add record

59dc78e7b4a75e4017c1fe9cf958842f.png

  • Create A Record for ctm1:
    • Record Type: A.
    • Name: ctm1.
    • TTL: Leave default (e.g., 300).
  • Scroll down.

60e5a32320990a64d14f5d07cd74901e.png

  • RDATA (IP Address): Enter private IP of CTM in AMS
  • Click Save Changes

26903ad9a8eb8334994d5d3f59659a04.png

  • Repeat to create a second A record for ctm2:
    • Record Type: A.
    • Name: ctm2.
    • TTL: Leave default (e.g., 300).
  • Scroll down.

8a78b10a9685ebb9b1b560d4ad1e2a85.png

  • RDATA (IP Address): Enter private IP of CTM in ASH
  • Click Save Changes

5403cdd784306dc123a66b81b37155a8.png

  • Click on Publish Changes.

0461c13b9871bb99558c202f36466df9.png

  • Repeat the same steps you did for AMS now in ASH to allow DNS name resolution in ASH.

35ef7f39c2b39aea9c4c1e47c01f51da.png

To validate that DNS is working as expected, SSH into one of the CTM instances and run 'ping ctm2.oci-thales.lab` from the first CTM (running in AMS). The FQDN will be resolved to the correct IP address, and when the RPC + Routing + security Lists are correctly configured, the ping is successful.

Cf1662c30f970dad2e92df4cee64352e.png

  • Repeat the ping from CTM2 (running in ASH) to confirm bidirectional resolution.

E3d4864a0fce938850e292ae2b050fd4.png

STEP 07 - Configure the first Thales CipherTrust Cloud Key Manager -CCKM- Appliance as a Certificate Authority -CA-

The first time a CipherTrust Manager is started, a new local CipherTrust Manager Root CA is automatically generated. This CA is used to issue initial server certificates for the interfaces available in the system. So there is no need to create a new one.

  • Make sure you are on the AMS CTM.
  • Click on the CA Menu
  • Select Local
  • Review the local automatically generated CA (CipherTrust Manager Root CA) we will use to create and sign CSRs.

5cafaaa44478e3c8f3f686768a341220.png

The diagram below illustrates the current state of our deployment so far.

43aabed30b976d6e93c7d40fa66b849c.png

STEP 08 - Create a CSR for both Thales CipherTrust Cloud Key Manager -CCKM- Appliances and sign them by the CA

With both Cyber Trust Manager (CTM) appliances deployed and DNS configured, it's time to enable secure, certificate-based communication between them. Since the AMS CTM and ASH are configured as the Certificate Authority (CA), we will use the AMS CTM to generate and sign certificates for both appliances.

  • The high-level steps will be:
  • Generate Certificate Signing Requests (CSRs) for CTMs (AMS and ASH) on the AMS CTM.
  • Use the AMS CTM CA to sign both CSRs
  • Install the signed certificate on each CTM

This ensures all CTM-to-CTM communication is trusted and encrypted, a critical requirement for cluster formation and secure API access.

Aff881e125900b72cb1cf20a72fa6646.png

Perform these steps only on the AMS CTM.

  • Log in to the CTM AMS web interface
  • Navigate to: CACSR Generator
  • Fill out the CSR form:
  • Select: Generic CSR.
    • Common Name (CN): Use the CTM’s FQDN (e.g., ctm1.oci-thales.lab)
  • Display Name: Use a name (e.g., CTM1 (AMS))
  • Algorithm: ECDSA
  • Size: 256
    • Subject Alternative Name (SAN): Also include the FQDN here (e.g., ctm1.oci-thales.lab)
  • Click Generate CSR and download Private Key
  • Note that the Private Key will be automatically downloaded.
  • Scroll down.

21640b125e46a4f875cda29f7510be1e.png

  • Click on Download CSR to download and save the generated .csr file.

A1629261c677e56f1a8265b91cf1fca5.png

  • Repeat the same steps (still on the CTM AMS CA).
  • Fill out the CSR form:
  • Select: Generic CSR.
    • Common Name (CN): Use the CTM’s FQDN (e.g., ctm2.oci-thales.lab)
  • Display Name: Use a name (e.g., CTM2 (AMS))
  • Algorithm: ECDSA
  • Size: 256
    • Subject Alternative Name (SAN): Also include the FQDN here (e.g., ctm2.oci-thales.lab)
  • Click Generate CSR and download Private Key
  • Note that the Private Key will be automatically downloaded.
  • Scroll down.

C671facd8b1f94ea0fc916d95564235b.png

  • Click on Download CSR to download and save the generated .csr file.

Cd812c132749f03f2a47bf4cae2ee115.png

To keep track of the generated Certificate Signing Requests (CSRs) and private keys, creating a clean folder structure on your local machine or a secure admin server is a good practice.

Here's a simple example structure that I have used.

E42973b725c8ee1c37bca768e8cb70bb.png

Navigate to: CALocal. Select the CA.

A7c060b5eeb2499fc526b21ffa5d4ad6.png

Click Upload CSR.

8835650f533c00117eeac4bacac58683.png

  • Display Name: Use the CTM’s FQDN (e.g., ctm1.oci-thales.lab)
  • Copy the content of the generated CSR in the CSR field.

E974ce3daf88043c74f83a8f9f9e4d82.png

  • Certificate Purpose: Server.
  • Click Issue Certificate.

E3eb828a93382c880091e12116d50d03.png

  • Click on the three dots at the end of the signed certificate entry.
  • Click on download to download the signed certificate for CTM1.

48d06a7768d5dac69e7d42dade623b24.png

  • Repeat the same steps (still on the CTM AMS CA).
  • Display Name: Use the CTM’s FQDN (e.g., ctm2.oci-thales.lab)
  • Copy the content of the generated CSR in the CSR field.

A7c1cb677661db7d835219d5249b6fbc.png

  • Certificate Purpose: Server.
  • Click Issue Certificate.

21ee554fedc62c170e06450ec98d5108.png

  • Click on the three dots at the end of the signed certificate entry.
  • Click on download to download the signed certificate for CTM2.

Ed35cbeb65468bba0be992b2f035a0fb.png

  • Rename and store the signed certificates in the created folder structure.

Af35c141c2cf7b065f158b4d467d855b.png

In addition to signing the individual CTM certificates, the CA Root Certificate is a critical piece of the trust chain. This root certificate establishes the foundation of trust for all certificates issued by your CTM, acting as the Certificate Authority (CA).

  • Navigate to: CALocal.
  • Click on the three dots at the end of the CTM AMS CA.
  • Click on download to download the Root CA certificate of CTM AMS CA.

Afc68dd923367732ffd48de5e23f889f.png

  • Store the downloaded root cert in the created folder structure.

814b5abacfae0841a5e9bdf51d3febf5.png

  • The next step is to create a full certificate chain file that bundles your signed certificate, the CA root certificate, and your private key into a single file.
  • This is required by applications or appliances like CTM for seamless TLS configuration.
-----BEGIN CERTIFICATE-----
Signed CTM1 Cert by CA
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Root CA Cert
-----END CERTIFICATE-----
-----BEGIN EC PRIVATE KEY-----
Private Key
-----END EC PRIVATE KEY-----
  • Do this for BOTH CTMs.
  • Store the newly concatenated certificate files in the created folder structure.

D4deed052c3fff68be0ecc0e13df6425.png

  • After creating the signed certificates on the CA and preparing the complete certificate chain files, the next step is to upload them to each CTM appliance.
  • Let's start with the first CTM1 running in AMS.
  • Navigate to: Admin SettingsInterfaces.
  • Click on the three dots of the web interface.
  • Select Renewal Certificate Options.

A69fcd5e3dcdb2c4a878ccd22d8c63fa.png

  • Select Upload/Generate.
  • Click on Ok.

Fd71951d14233d6f4a8548a8c1599fe5.png

  • Upload the Full chain cert for CTM1 using the PEM format.
  • Click on Upload Certificate.

Efeb7091e7b98b3dfd1025f1ea31301b.png

  • Click on the three dots of the web interface (again).
  • Select Renewal Certificate Options (again).

92cd5d42c72aa95d80794fe8690f45b2.png

  • Select Apply.
  • Click on Ok.

3d5c552507d0b21409f13443a2599ac6.png

  • Click on Apply.

7666b37e5c844c51c2fc8864cfd2f4ff.png

  • Click on Services Page.

7208118382aab03b205482dc20013317.png

  • Click on System Restart.

7703c457ce519a9daf3d5fb653d9b86f.png

  • Click on Restart Services to restart the server + web services to activate the new certificate.

56751892d1b8f1ac116e7289264c3257.png

  • REPEAT THE SAME STEPS for CTM2 running in ASH.
  • To test the newly signed certificate in your local environment using Chrome, you first need to install it and its CA chain into your operating system's trusted certificate store.
  • This is out of the scope of this tutorial, but I will show you how I tested the new CTM certificates signed by the CTM AMS CA.
  • Open the Google Chrome browser settings.
  • Navigate to the Privacy and Security tab.
  • Click on Security.

4991cb27b3522a002a80480ece94506a.png

  • Click on Manage certificates.

401ebba50b6a43c11e08f4b6929ecebe.png

  • Click on Local certificates.
  • In the custom section, click on Installed by you.

B5800f2dc44c0c401d51fc55acc2030a.png

  • I have already imported the full chain certs + Root cert on my local OS.
  • This is also where you can import the certificates; this button will bring you to the OS-level certificate settings.

374740c7de9f1a96882718d0882aa5c6.png

  • Because I have not configured the DNS server on the internet, I am updating my local /etc/hosts file with the manual host entries to test the certificates from my local machine using the FQDN.

0dbb35510f241ebfc94cd8c390e8e17f.png

  • Browse to the CTM1 FQDN using Google Chrome.
  • Click on the security settings.

87556d7395743200e85ce8d979056e39.png

  • Click on Connection is secure.

1d350a898b1d5ffca80137c6a3667698.png

  • Click on Certificate is valid.

0400d9e7983f9ba27ebb3a3b1ffd3bf5.png

  • Review the Issued to details.

7a98d84342745f1486ecacb8b746429f.png

STEP 09 - Configure Thales CipherTrust Cloud Key Manager -CCKM- Appliance Clustering

  • Clustering Thales CipherTrust Cloud Key Manager (CTM) appliances enables high availability and load balancing for cryptographic key management.
  • This ensures continuous service and fault tolerance in your security infrastructure.
  • Clustering is configured entirely from the management console of a single (primary) CTM appliance (in our case, the CTM running in AMS).
  • Use this appliance's interface to create the cluster and add other CTM appliances as cluster nodes.
  • Navigate to: Admin SettingsCluster.
  • Click on Manage Cluster.

504bf6fb9f4dcc1d8a388726e97a82f2.png

  • Click on Add cluster.

2b98a1accb56c5454897b1b9ae578bf7.png

  • Click on Next.

7372775893d62e32257d12a3dd7a3789.png

  • Type in the hostname of the AMS CTM (which is the CTM1 in AMS with private IP 10.222.10.111).
  • I do not intend to use (or create) a cluster over the internet using the public IP, so I am using the private IP address in both fields.
  • Click on Add Cluster.

D2d29585491d5e3354e09ac248d8d8f9.png

  • Notice that this machine has created a new cluster and is part of its cluster.

594d6f4bd15694232633de90d8e30b5e.png

  • On the same AMS CTM1 click on Manage Cluster (again).
  • Select Add Node (to add the ASH CTM2).

Cd07c88974008ae9205d66af8bc790bf.png

  • Specify the ASH CTM IP address as the nod to add to the cluster.
  • I could have used the DNS name here, but I did not.
  • Click on Add Node

9a77c502beda7439b609e164fd9c1b7b.png

  • A new browser window/tab will be opened to the ASH CMT2.
  • If you are not logged in to the ASH CMT2, you might get a login prompt first.
  • Some cluster configuration activity will happen in the background.

54a14fd9460e016fcf85e0c83cd33a9a.png

  • Confirm the join by clicking on Join.

90fe9606380be4bc38c6e2c4fa88f5c0.png

  • Some more cluster configuration activity will happen in the background.

5091be6db75ed811a708d4f27239446e.png

  • Confirm the Success message by clicking on Finish!.

55b699ae77a2e26e7727140709fcdb12.png

  • If the newly opened browser window/tab is still open, you can close it manually.

9f2441903062d2721d3b66517a13a38a.png

  • On the AMS CTM1 also confirm by clicking on Finished.

F659a285b7c94c5011f7cc4a4940a0b5.png

  • At first, the newly added node (ASH CTM2) will appear down.
  • Wait for a few minutes so the cluster can detect its presence.

61be368395dd65ee9e88d9111946a2de.png

  • You might also see an error message at the top of the screen.
  • This means that the cluster is still in configuration mode.
  • Wait a few minutes for the message to disappear.

638c2bdef57605eebc1de838e1873ca8.png

To verify if the CTM Cluster configuration is done correctly and is healthy, you can check CTM1 and CTM2.

From CTM1:

  • Navigate to: Admin SettingsCluster.
  • Notice that the IP address 10.222.10.111 is from this server (AMS CTM1).
  • Notice the other node (10.111.10.32) from the remote server (ASH CTM2).

E059143643b3c6dc68fb15a84f37536a.png

From CTM2:

  • Navigate to: Admin SettingsCluster.
  • Notice that the IP address 10.111.10.32 is from this server (ASH CTM2).
  • Notice the other node (10.222.10.111) from the remote server (AMS CTM1).

1837b885af450bbd2a94d512f3151d67.png

The diagram below illustrates the current state of our deployment so far.

1b4c36a739b43914c08963712c344184.png

Conclusion

In this tutorial, you successfully set up two Thales CipherTrust Cloud Key Manager (CCKM) Appliances within Oracle Cloud Infrastructure (OCI), established a secure cluster between them, and configured one appliance as the Certificate Authority (CA). You have built a highly available, secure key management environment by following the step-by-step process—from deploying the appliances and configuring the network infrastructure to creating and signing CSRs and enabling clustering. This setup ensures robust cryptographic operations with centralized certificate management, optimizing security and operational resilience in your OCI environment.

If you want to implement Oracle Hold Your Own Key (HYOK) using CipherTrust Manager without the API Gateway option, follow this guide: Set up Oracle Hold Your Own Key (HYOK) with the CipherTrust Manager (without API Gateway option).

If you want to implement Oracle Hold Your Own Key (HYOK) using CipherTrust Manager with the API Gateway option, follow this guide: Set up Oracle Hold Your Own Key (HYOK) with the CipherTrust Manager (with API Gateway option).