Using external certificates with CTE for Kubernetes
You can use External Certificates for communication between CTE for Kubernetes and CipherTrust Manager.
Note
Install the external certificate before registering CTE for Kubernetes with CipherTrust Manager.
Overview
CipherTrust Transparent Encryption can now use an external certificate, available at a user-defined path, to communicate with CipherTrust Manager.
Prerequisites
The external certificate must be:
-
On the file system
-
In PEM format
A key pair must already exist for the client:
-
Must have Encryption type of either:
-
sha256WithRSAEncryption
-
ecdsa-with-SHA384
-
-
Must be Encrypted with a pass phrase
Initial setup
-
Obtain your external CA certificate.
-
Create a certificate using the external CA certificate and key.
CipherTrust Manager Setup
To setup CipherTrust Manager to communicate through an external certificate:
-
Import the CA certificate into the CipherTrust Manager, click CA > External > Add External CA.
Note
In the Add External CA dialog, copy and paste the
<ca_certificate_name>.pem
file content from the UI page and provide a user-friendly name.For more information, see Using an Externally Generated Server Certificate for an Interface
-
Add the CA certificate to the list of trusted sources for the web interface, click Admin Settings > Interfaces > web > Edit > External Trusted CAs.
-
Restart the web server, click Admin Settings > Services > web > Restart.
-
Create a registration token for the CTE agent. See Creating a Registration Token for more information.
CTE for Kubernetes Setup for Client Registration
-
Add the Registration token to the configuration file
cte-csi-regtoken.yaml
with theregistration_token
parameter. -
Create a Kubernetes secret(s) with client certificate details:
where:
*<client-secret-name>
= unique name for secret
*<clientName>
= unique name for client
*<passphrase>
= passphrase for clientExample
You can also use files from a specific path as a Partial or Absolute path:
To create multiple client certificate details (certificate, key and passphrase) with the secret:
where:
*<client-secret-name>
= unique name for secret
*<clientName>
= unique name for client
*<passphrase>
= passphrase for clientExample
If certificates are on different paths, provide the filename with the path (Partial or Absolute path)
Note
There must be an additional client certificate detail added to the secret
parameter external_ca_client_secret: <client-secret-name>
. This additional detail is required for each storage class deployment. This is because there is an additional requirement forSigner Registration
for each storage class. This Signer Registration is an additional default registration). -
Create the storage-class yaml file with a client secret name:
While creating the storage-class configuration file
cte-storageclass.yaml
add the following parameter:Also make sure that the registration token secret name from the
cte-csi-regtoken.yaml
is correct and contains the following parameter:cte-storageclass.yaml
Note
Each storage-class will have its own client secret with a client certificate, key and passphrase details.
Note
If one storage-class is being used over multiple worker nodes, then the client secret will have multiple client details (certificate, key and passphrase)