Configure KMES Series 3
This section starts with the general KMES configurations necessary to enable the Futurex PKCS #11 module to integrate with the KMES Series 3. Then, it covers the necessary steps to configure TLS communication between the KMES and the Futurex PKCS #11 Library.
Perform the following tasks to configure the KMES Series 3 for communication with FXPKCS #11:
- Create an FXPKCS #11 role and identity with the correct assigned permissions.
- Enable Host API commands.
The following sections show you how to complete these tasks.
Perform the folllowing steps to create new role and identity for Futurex PKCS #11 (FXPKCS11) on the KMES Series 3. A later section shows you how to configure the identity name and password in the Futurex PKCS #11 configuration file.
Log in to the KMES Series 3 application interface with the default Admin identities.
Go to Identity Management > Roles and select [ Add ] at the bottom of the page.
In the Info tab of the Role Editor window, specify a name for the role and set the number of logins required to 1.
On the Permissions tab, select the following permissions:
Permission
Subpermission
Cryptographic Operations
Sign, Verify, Encrypt, Decrypt, Wrap, Unwrap, Derive
Keys
Add, Export
Certificate Authority
Add, Export, Upload
On the Advanced tab, allow authentication to the Host API port only.
Select [ OK ] to finish creating the role.
Go to Identity Management > Identities.
Right-click anywhere in the window and select Add > Client Application.
On the Info tab of the Identity Editor window, select Application for the storage location and specify a name for the identity.
On the Assigned Roles tab, select the Nginx role you just created.
On the Authentication tab, select Password and then select [ Configure ].
In the Configure Credential window, select [ Change ]. Enter a password and select [ Save ].
Select [ OK ] to finish creating the identity.
Because the Futurex PKCS #11 library connects to the Host API port on the KMES, you must define which Host API commands to enable for execution by the FXPKCS11 library. To set the allowed commands, complete the following steps:
Log in to the KMES Series 3 application interface with the default Admin identities.
Go to Administration > Configuration > Host API Options and enable the following commands:
Command
Description or subcommand (if applicable)
ECHO
Communication Test or Retrieve Version
TIME
Set time
RAFA
Filter Issuance Policy
RAND
Generate Random Number
RKCK
Create HSM Trusted Key
RKCP
Get Command Permissions
RKCS
Create Symmetric HSM Trusted Key Group
RKED
Encrypt or Decrypt Data
RKGP
Export Asymmetric HSM Trusted Key
RKGS
Generate Signature
RKHM
HMAC Data
RKLN
Lookup Objects
RKLO
Login User
RKRC
Get HSM Trusted Key
ATTR
Generic Attribute Operations
- Get: Retrieve generic attributes
ATKG
Add HSM trusted asymmetric key group
RKPK
Pop Generated Key
Select [ Save ] to finish.
Perform the following tasks to configure TLS communication between the KMES Series 3 and the Futurex PKCS #11 module:
- Create a Certificate Authority.
- Generate a CSR for the System/Host API connection pair.
- Sign the System/Host API CSR.
- Export the Root CA.
- Export the signed System/Host API TLS certificate.
- Load the exported certificates into the System/Host API connection pair.
- Issue a client certificate for the Futurex PKCS #11 module.
- Export the client certificate as a PKCS #12 file.
The following sections describe how to perform these tasks.
Log in to the KMES Series 3 application interface with the default Admin identities.
Go to PKI > Certificate Authorities and select [ Add CA ] at the bottom of the page.
In the Certificate Authority window, enter a name for the certificate container, leave all other fields set to the default values, and select [ OK ].
The certificate container you just created now displays in the Certificate Authorities menu.
Right-click the certificate container you just created and select Add Certificate > New Certificate.
On the Subject DN tab, set a Common Name for the certificate, such as System TLS CA Root.
On the Basic Info tab, leave all fields set to the default values.
On the V3 Extensions tab, select the Certificate Authority profile and select [ OK ].
The root CA certificate now displays under the previously created certificate container.
Go to Administration > Configuration > Network Options.
In the Network Options window, go to the TLS/SSL Settings tab.
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.
In the Application Public Keys window, select [ Generate ].
When warned that SSL will not be functional until new certificates are imported, select [ Yes ] to continue.
In the PKI Parameters window, leave all fields set to the default values and select [ OK ].
You should see that a PKI Key Pair is loaded now in the Application Public Keys window.
Select [ Request ].
On the Subject DN tab, set a Common Name for the certificate, such as KMES.
On the V3 Extensions tab, select the TLS Server Certificate profile.
On the PKCS #10 Info tab, select a save location for the CSR and select [ OK ].
When prompted that the certificate signing request was successfully written to the file location that was selected, select [ OK ].
Select [ OK ] again to save the Application Public Keys settings.
The main Network Options window now shows Loaded next to PKI keys for the System/Host API connection pair.
Go to PKI > Certificate Authorities.
Right-click the root CA certificate you created and select Add Certificate > From Request.
In the file browser, select the CSR that you generated for the System/Host API connection pair.
After it loads, don't modify any settings for the certificate. Select [ OK ].
The signed System/Host API certificate now shows under the root CA certificate on the Certificate Authorities page.
Go to PKI > Certificate Authorities.
Right-click the System TLS CA Root certificate and select Export > Certificate(s).
In the Export Certificate window, change the encoding to PEM and select [ Browse ].
In the file browser, go to the location where you want to save the Root CA certificate. Specify the name of the file and select [ Open ].
Select [ OK ].
A message box confirms that the PEM file was successfully written to the location that you specified.
Go to PKI > Certificate Authorities.
Right-click the KMES System/Host API certificate and select Export > Certificate(s).
In the Export Certificate window, change the encoding to PEM and select [ Browse ].
In the file browser, navigate to the location where you want to save the Root CA certificate. Specify the name of the file and select [ Open ].
Select [ OK ].
A message box confirms that the PEM file was successfully written to the location that you specified.
Go to Administration > Configuration > Network Options.
In the Network Options window, go to the TLS/SSL Settings tab.
Under the System/Host API connection pair, select [ Edit ] next to Certificates in the User Certificates section.
Right-click the System/Host API SSL CA X.509 certificate container and select [ Import ].
Select [ Add ] at the bottom of the Import Certificates window.
In the file browser, select both the root CA certificate and the signed System/Host API certificate, and select [ Open ].
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.
Go to PKI > Certificate Authorities.
Right-click the System TLS CA Root certificate and select Add Certificate > New Certificate.
On the Subject DN tab, set a Common Name for the certificate.
Leave all fields in the Basic Info tab set to the default values.
On the V3 Extensions tab, select the TLS Client Certificate profile and select [ OK ].
The PKCS #11 client certificate now displays under the System TLS CA Root certificate.
To perform the following steps, you must go to Configuration > Options and enable the Allow export of certificates using passwords option.
Go to PKI > Certificate Authorities.
Right-click the PKCS #11 client certificate and select Export > PKCS12.
Set a PKCS12 password, leave Export Selected Certificate with Parents selected, and select [ Next ].
Enter a name for the file, select the location where you want to save it, and select [ Open ] to start the export.
Move the FXPKCS11 Client certificate to the computer where you installed the Futurex PKCS #11 module.
A later section shows you how to configure it in the FXPKCS11 configuration file and use it for TLS communication with the KMES Series 3.