Certificate Authority
Red Hat Certificate System (RH...

Configure KMES Series 3

14min

This section starts with general configurations that enable RHCS to integrate with the to store various keys and certificates used in the CA subsystem operation. Then, it covers the steps to configure TLS communication between the and the PKCS #11 (FXPKCS11) library, which RHCS uses to communicate with the .

Configure general KMES settings for the RHCS integration

Perform the following tasks to configure the for communication with FXPKCS #11:

  1. Create an RHCS role and identity with the correct assigned permissions.
  2. Enable Host API commands.

The following sections show you how to complete these tasks.

1| Create a role and identity for RHCS

After you create a new role on the , you assign it to the identity, and subsequently, the FXPKCS11 library uses the identity to connect to the .

1

Log in to the application interface with the default Admin identities.

2

Go to Identity Management > Roles and select [ Add ] at the bottom of the page.

3

On the Info tab of the Role Editor window, specify a name for the role, select the Hardened checkbox, and set Logins Required to 1.

4

On the Permissions tab, enable the following permissions:

Permission

Subpermission



Certificate Authority

Add, Upload, Export



Cryptographic Operations

Sign



Keys

Add


5

On the Advanced tab, set the Allowed Ports field to Host API only.

6

Select [ OK ] to finish creating the role.

7

Go to Identity Management > Identities, right-click anywhere in the window, and select Add > Client Application.

8

Change the Storage to HSM and specify a Name for the identity.

9

On the Assigned Roles tab, select the role that you created previously.

10

On the Authentication tab, select [ Add ] to configure a new credential.

11

In the Configure Credential window, set the credential Type to Password, Provider to Futurex HSM, and Mechanism to Hardened Password.

12

Select [ Change ] and set a password for the credential, select [ Save ], and select [ OK ].

The new Password credential now displays under the API Key credential that exists by default.

13

In the main Identity Editor window, select the API Key credential, select [ Remove ], and select [ OK ] to save.

2| Enable the Host API commands for the RHCS operation

Because the PKCS #11 library connects to the Host API port on the , you must define which Host API commands to enable for the FXPKCS11 library to use. To set the enabled commands, complete the following steps:

1

Go to Administration > Configuration > Host API Options and enable the following commands:

Command

Description or subcommand (if applicable)



ATKG

Manipulate HSM trusted asymmetric key group

  • add - Add HSM trusted asymmetric key group
  • get - Retrieve HSM trusted asymmetric key group


ECHO

Communication Test/Retrieve Version



RKCP

Get command permissions

  • get - Retrieve enabled commands


RKCY

Create Certificate Authority



RKGP

Export Asymmetric HSM Trusted Key



RKGS

Generate Signature



RKIC

Import Certificate



RKLN

Lookup Objects



RKLO

Login User



RKPK

Pop Generated Key



RKRK

Retrieve Certificate


2

Select [ Save ] to finish.

Configure TLS communication

Perform the following tasks to configure TLS communication between the and the PKCS #11 (FXPKCS11) Library:

  1. Create an X.509 certificate container and Root CA certificate.
  2. Generate a CSR for the System/Host API connection pair.
  3. Sign the System/Host API CSR.
  4. Export the Root CA.
  5. Export the signed System/Host API TLS certificate.
  6. Load the exported certificates into the System/Host API connection pair.
  7. Generate a TLS private key and CSR for the FXPKCS11 library.
  8. Sign the CSR for the FXPKCS11 library.
  9. Export the signed FXPKCS11 TLS certificate.

The following sections describe how to perform these tasks.

1| Create an X.509 certificate container and Root CA certificate

1

Go to PKI > Certificate Authorities and select [ Add CA ] at the bottom of the page.

2

In the Certificate Authority window, enter a Name for the certificate container, leave all other fields set to the default values, and select [ OK ].

3

Right-click the certificate container that you created and select Add Certificate > New Certificate.

4

On the Subject DN tab, select Classic in the Preset drop-down list and set a Common Name for the certificate, such as System TLS CA Root.

5

On the Basic Info tab, leave all fields set to the default values.

6

On the V3 Extensions tab, select Certificate Authority in the Profile drop-down list and select [ OK ].

The System TLS CA Root certificate now displays inside the previously created certificate container.

2| Generate a CSR for the System/Host API connection pair

1

Go to Administration > Configuration > Network Options.

2

In the Network Options window, go to the TLS/SSL Settings tab.

3

Under the System/Host API connection pair, uncheck the Use Futurex certificates checkbox, and select [ Edit ] next to PKI keys in the User Certificates section.

4

In the Application Public Keys window, select [ Generate ].

5

When warned that SSL will not be functional until new certificates are imported, select [ Yes ] to continue.

6

In the PKI Parameters window, leave all fields set to the default values and select [ OK ].

The Application Public Keys window now shows that a PKI key pair is Loaded.

7

Select [ Request ].

8

On the Subject DN tab, set a Common Name for the certificate, such as KMES.

9

On the Basic Info tab, leave all fields set to the default values.

10

On the V3 Extensions tab, select TLS Server Certificate in the Profile drop-down list.

11

On the PKCS #10 Info tab, select [ Browse ], select a save location for the CSR, specify a name for the file, and select [ Open ].

12

Select [ OK ] to finish generating the CSR.

13

When prompted that the certificate signing request was successfully written to the file location that was selected, select [ OK ].

14

Select [ OK ] again to save the Application Public Keys settings.

The main Network Options window now shows Loaded next to PKI keys under the System/Host API connection pair.

15

Select [ OK ].

3| Sign the System/Host API CSR

1

Go to PKI > Certificate Authorities.

2

Right-click on the System TLS CA Root certificate and select Add Certificate > From Request.

3

In the file browser, select the CSR that you generated for the System/Host API connection pair and select [ Open ].

4

After it loads, don't modify any certificate settings. Select [ OK ].

The signed KMES TLS certificate now shows under the System TLS CA Root certificate in the Certificate Authorities menu

4| Export the System TLS CA Root certificate

1

Go to PKI > Certificate Authorities.

2

Right-click the System TLS CA Root certificate and select Export > Certificate(s).

3

In the Export Certificate window, select PEM in the Encoding drop-down list and select [ Browse ].

4

In the file browser, go to the location where you want to save the System TLS CA Root certificate, specify a name for the file, and select [ Open ].

5

Select [ OK ].

A message box states that the PEM file was successfully written to the location that you specified.

6

Select [ OK ] again to exit the window.

5| Export the signed System/Host API TLS certificate

1

Go to PKI > Certificate Authorities.

2

Right-click the KMES certificate and select Export > Certificate(s).

3

In the Export Certificate window, select PEM in the Encoding drop-down list and select [ Browse ].

4

In the file browser, go to the location where you want to save the KMES TLS certificate, specify a name for the file, and select [ Open ].

5

Select [ OK ].

A message box states that the PEM file was successfully written to the location that you specified.

6

Select [ OK ] again to exit the window.

6| Load the exported TLS certificates into the System/Host API connection pair

1

Go to Administration > Configuration > Network Options.

2

In the Network Options window, go to the TLS/SSL Settings tab.

3

Select [ Edit ] next to Certificates in the User Certificates section for the System/Host API connection pair.

4

Right-click the System/Host API SSL CA X.509 certificate container and select [ Import ].

5

Select [ Add ] at the bottom of the Import Certificates window.

6

In the file browser, select both the System TLS CA Root certificate and the signed KMES certificate, and select [ Open ].

The certificate chain appears in the Verified section.

7

Select [ OK ] to save the changes.

In the Network Options window, the System/Host API connection pair now shows Signed loaded next to Certificates in the User Certificates section.

7| Generate a TLS private key and CSR for the Futurex PKCS #11 (FXPKCS11) library by using OpenSSL

You must run the commands in this section from a terminal application with OpenSSL.

1

Open a terminal and run the following command to generate a TLS private key for the FXPKCS11 library:

Shell


The command outputs the private key to fxpkcs11_tls_privatekey.pem in the same directory where you ran the command.

2

Run the following command to generate a CSR for the FXPKCS11 library:

Shell


When prompted to enter certificate information, set the default value for each field by pressing the Enter key at every prompt.

The command outputs the CSR to fxpkcs11_tls_cert_req.pem in the same directory from where you ran the command.

3

Move or copy the CSR file, fxpkcs11_tls_cert_req.pem, to the storage medium configured on the KMES.

8| Sign the CSR for the FXPKCS11 library

1

Go to PKI > Certificate Authorities.

2

Right-click the System TLS CA Root certificate and select Add Certificate > From Request.

3

In the file browser, select the FXPKCS11 CSR, tls_cert_req.pem.

Certificate information populates in the Create X.509 From CSR window.

4

On the Subject DN tab, select Classic in the Preset drop-down list, and set a Common Name for the certificate, such as FXPKCS11.

5

On the Basic Info tab, leave fields set to the default values.

6

On the V3 Extensions tab, select the TLS Client Certificate profile and select [ OK ].

The signed FXPKCS11 certificate now displays under the System TLS CA Root certificate.

9| Export the signed FXPKCS11 TLS certificate

1

Go to PKI > Certificate Authorities.

2

Right-click the FXPKCS11 certificate and select Export > Certificate(s).

3

In the Export Certificate window, select PEM in the Encoding drop-down list and select [ Browse ].

4

In the file browser, go to the location where you want to save the FXPKCS11 TLS certificate, specify a name for the file, and select [ Open ].

5

Select [ OK ].

6

When prompted that the PEM file was successfully written to the location that you specified, select [ OK ] again to exit the window.

7

Copy the signed FXPKCS11 TLS certificate and the System TLS CA Root certificate to the computer where you plan to run the RHCS instance.

The next section shows you how to configure them in the FXPKCS11 configuration file and use them for TLS communication with the .