Appendix: Migrate an existing CA key from software storage to the KMES
This section shows you how to perform the following tasks to migrate a CA key to the KMES Series 3:
- Back up the CA database, CA certificate, and private key on the AD CS server.
- Remove the CA role service from the AD CS server.
- Import the private key into the KMES Series 3 by using FXCLI.
- Restore the AD CS server.
To back up the CA database, certificate, and private key, you must use an account that is a CA administrator. On an enterprise CA, the default configuration for CA administrators includes the local Administrators group, the Enterprise Admins group, and the Domain Admins group. On a standalone CA, the default configuration for CA administrators includes the local Administrators group.
The following steps use the CA snap-in tool to back up the CA database and private key. If you prefer to complete these steps by using Powershell or Certutil.exe, see the following Microsoft knowledge base article: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn486805(v=ws.11)
Choose a backup location and attach media, if necessary.
Log on to the source CA.
Open the Certification Authority snap-in.
Right-click the node with the CA name, select All Tasks, and then select Back Up CA.
In the Welcome window of the CA Backup wizard, select [ Next ].
In the Items to Back Up window, select the Private key and CA certificate and Certificate database and certificate database log check boxes, specify the backup location, and then select [ Next ].
In the Select a Password window, type a password to protect the CA private key, and select [ Next ].
In the Completing the Backup Wizard, select [ Finish ].
After the backup completes, verify the following files in the location you specified:
- CAName.p12, which contains the CA certificate and private key.
- The database folder containing files certbkxp.dat, edb#####.log, and CAName.edb.
Open a command prompt window, and type net stop certsvc to stop the AD CS service.
You should stop the service to prevent the issuance of additional certificates. If the source CA issues certificates after a database backup completes, repeat the CA database backup procedure to ensure the database backup contains all issued certificates.
Copy all backup files to a location that is accessible from the destination server, such as a network share or removable media.
In Server Manager, select the Manage button in the top menu, then select [ Remove Roles and Features ].
In the Before you begin section of the the Remove Roles and Features Wizard, select [ Next ].
In the Select destination server window, leave the default option selected and select [ Next ].
In the Remove server roles window, select the Active Directory Certificate Services role.
When prompted, select [ Remove Features ].
Select [ Next ] until you reach the Confirmation page, and then select [ Remove ].
After the removal process completes, close the window and restart the server to finish removing the features.
This section shows you how to create a new empty certificate container in the KMES application interface and then use the fxcli-kmes application to import the private key that you backed up from AD CS.
The following example connects to the System/Host API port of the KMES anonymously. Be sure to select the Allow Anonymous Connections checkbox for the System/Host API connection pair before attempting to connect.
Log in to the KMES application interface with the default Admin identities.
Go to PKI > Certificate Authorities and select [ Add CA ].
Specify a name for the certificate container and select [ OK ].
Right-click the newly created certificate container and select [ Permission ].
Grant the Microsoft ADCS role the Use permission. Select [ OK ] to save.
You must import the Microsoft ADCS CA private key into the KMES as a PKCS #12 file. This imports both the private key and the certificate as a bundle, but Microsoft ADCS uses only the private key for operations.
Run the fxcli-kmes program to enter the Futurex Command Line Interface, as shown in the following example:
Modify the FXCLI TLS configuration file as shown in the following sample to connect anonymously:
Run the following command to connect to the KMES Series 3:
Run the following command twice to log in with the two default Admin identities and provide username and password for each identity:
Run the following command to import the private key of the CA into the KMES:
Specify the name of the certificate container you created on the KMES with the --tree flag.
This section shows you how to restore the AD CS server by performing the following tasks:
- Import the CA certificate.
- Re-add the CA role service.
- Restore the CA database and configuration.
Start the Certificates snap-in for the local computer account.
In the console tree, double-click Certificates (Local Computer) and select Personal.
On the Action menu, select All Tasks and select Import to open the Certificate Import Wizard. Select [ Next ].
Locate the <CAName>.p12 file created by the CA certificate and private key backup and select [ Open ].
Type the password and select [ OK ].
Select Place all certificates in the following store.
Verify Personal displays in the Certificate store. If you don't see it, select Browse, select Personal, then select [ OK ].
The imported CA certificate file was in PKCS #12 format, containing both the certificate and the private key. However, the private key should not exist in AD CS because it is stored on the HSM. The following steps delete both the private key and its association with the CA certificate.
In the console tree, double-click Personal Certificates and select the imported CA certificate.
On the Action menu, select [ Open ]. Go to the Details tab, copy the serial number to the Clipboard, and select [ OK ].
Open a command prompt, type certutil -store My "{Serialnumber}, and then press ENTER.
From the output of the preceding command, copy the value that is in the Unique container name field to the clipboard.
Run the following command to delete the private key association with the CA certificate:
Run the following command to delete the private key:
The Key Name value is the same as the certificate name as shown in the Certificates snap-in menu.
Finally, associate the private key now stored on the HSM with the CA certificate stored in AD CS. Run the following command to repair the association between the imported CA certificate and the private key stored in the HSM:
In the console tree, select Roles.
On the Action menu, select Add Roles.
In the Before you Begin window, select [ Next ].
In the Select Server Roles window, select the Active Directory Certificate Services checkbox and select [ Next ].
In the Introduction to AD CS window, select [ Next ].
In the Role Services window, select the Certificate Authority checkbox and select [ Next ].
In the Specify Setup Type window, specify either Enterprise or Standalone, to match the source CA. Then select [ Next ].
In the Specify CA Type window, specify either Root CA or Subordinate CA to match the source CA. Then, select [ Next ].
In the Set Up Private Key window, select Use existing private key and Select a certificate and use its associated private key.
In the Certificates list, select the imported CA certificate and select [ Next ].
In the CA Database window, specify the locations for the CA database and log files. Select [ Next ].
In the Confirmation window, review the messages and select [ Configure ].
After you reinstall the CA role service, perform the following steps, which use the CA snap-in tool to restore the CA database and configuration:
Start the Certification Authority snap-in.
Right-click the node with the CA name, select All Tasks, and then select Restore CA.
In the Welcome window, select [ Next ].
In the Items to Restore window, select Certificate database and certificate database log.
Select [ Browse ]. Navigate to the parent folder that holds the Database folder (the folder that contains the CA database files created during the CA database backup).
Do not select the Database folder. Select its parent folder.
Select [ Next ] and then [ Finish ].
Select [ Yes ] to start the CA service (certsvc).