Create a signed keystore with the KeyStore Explorer
Who is this article for?
Instructor, no.
Incydr Professional, Enterprise, Gov F2, and Horizon, no.
Incydr Basic, Advanced, and Gov F1, no.
CrashPlan Cloud, no.
Retired product plans, yes.
CrashPlan for Small Business, no.
Overview
Every Code42 server includes a self-signed SSL certificate to support secure https connections. This approach is secure, but browsers generate warnings and require visitors to allow exceptions. To eliminate those browser warnings, configure your Code42 server to provide an SSL certificate signed by a trusted certificate authority (CA). This article describes how to use KeyStore Explorer to manage certificates and keystores.
The following articles describe other tools for managing certificates and keystores:
- Linux administrators typically use OpenSSL.
- Windows administrators typically rely on the Java keytool.
SSL certificates and Java keystore files
The Code42 server accepts SSL certificates bundled together in a Java KeyStore file. The keystore contains:
- The SSL certificate and the public and private key for the Code42 server
- A certificate from the CA who signed the Code42 server SSL certificate
- Intermediate certificates that establish a chain of trust between the CA and the Code42 server SSL certificate
Create the keystore using a utility such as KeyStore Explorer before applying it to the Code42 server from the Code42 console.
Before you begin
- Before installing an SSL certificate, back up your Code42 server's database with a database dump so that you can recover it to a previous state if necessary. To create the dump:
- Navigate to Settings > Server.
- From the action menu, choose Dump Database.
- Obtain the address of the CA to whom you will send your request for a signed certificate that verifies the validity of your keystore.
- Install KeyStore Explorer if it is not already installed.
- If you intend to import a certificate with an encryption key that exceeds the Java import limits on cryptographic algorithms, you must first configure your enterprise server to accept longer encryption keys.
Considerations
- This article applies to on-premises Code42 environments only and is not intended for Code42 cloud environments.
- For multi-server Code42 environments, we recommend applying this process to all Code42 servers.
- You must have the Administrator or SYSADMIN role to install an SSL certificate on your Code42 server.
- This article assumes you are familiar with the following:
- The basic principles of Transport Layer Security (TLS)
- Configuring SSL certificates
-
The command-line utility OpenSSL is required if you are running Linux and want to reuse existing key materials.
Assistance with the handling of a certificate signing request (CSR) or creating your keystore is beyond the scope of Customer Champions. For assistance, please contact Sales.
Keystore terminology
Build the keystore
Building a Java KeyStore is the first step in configuring your Code42 server to use your own CA-signed SSL certificate. If you have an existing private key and corresponding X.509 certificate (referred to collectively as key materials), you can reuse them. You can also start from scratch, creating new key materials as needed. The steps are different, depending on what existing key materials you have:
Build a keystore without existing key materials
You must use the same password for the keystore and the private key. You can use any string you want for these parameters, but they must both be set to the same value.
Follow the steps below if you have no private keys or certificates from a CA and need to create them from scratch.
Step 1: Create a keystore, key pair, and certificate
- Start KeyStore Explorer.
- Choose Create a new KeyStore.
- From New KeyStore Type, choose JKS.
- Click OK.
- Generate a key pair:
- Select Tools > Generate Key Pair.
- In Generate Key Pair, choose the following algorithm selection options:
- RSA
- Key Size: 4096
- Click OK.
Generating Key Pair dialog appears, then disappears after key is generated. - From Generate Key Pair Certificate, click the Edit name icon
.
- Complete the Name fields:
- For the Common Name (CN) use the Fully Qualified Domain Name (FQDN) of your server.
- For the Common Name (CN) use the Fully Qualified Domain Name (FQDN) of your server.
- Click OK.
- Specify the domain name of your server as an alternative name. Click Add Extensions, click the + icon, and select Subject Alternative Name.
- In the Subject Alternative Name Extension dialog, click the + icon, select DNS Name, and in General Name Value type the domain name of your server.
- Click OK until you return to the Generate Key Pair Certificate dialog.
- In Generate Key Pair Certificate, click OK.
- In New Key Pair Entry Alias, enter an alias for the key pair.
The alias is pre-set to the CN set in the Name dialog. - Click OK.
- In New Key Pair Entry Password, enter a password, and click OK.
The Generate Key Pair dialog displays "Key Pair Generation Successful".
Save this password, and use it as the password for the entire keystore in step 7 below.
- Click OK.
The new key pair is displayed in the KeyStore Explorer window.
- Save the keystore:
- From the KeyStore Explorer menu, select File > Save.
The Set KeyStore Password dialog appears. - Enter a password for the keystore. This password must be the same as the password for the key pair generated in step 5 above.
- Click OK.
The Save KeyStore As dialog appears. - Enter the name of the keystore.
This format is suggested for easy identification of your keystores: fqdn_domain_com.jks - Click Save.
Your keystore file is saved to your computer.
- From the KeyStore Explorer menu, select File > Save.
Step 2: Generate and send certificate signature request
- Right-click the key pair entry.
- Choose Generate CSR.
The Generate CSR dialog appears.
- (Optional) Enter additional values.
- Click OK.
The CSR Generation Successful dialog appears. - Click OK.
- Send the generated CSR file to your certificate authority.
Step 3: Import signed certificates to your keystore
- Select Tools > Import Trusted Certificate.
The Import Trusted Certificate dialog appears. - Import your certificates starting with the root then followed by the intermediate(s).
- Select a certificate.
- Click Import.
The Import Trusted Certificate dialog appears. - Click OK.
The Certificate Details for File 'root.crt' dialog appears. - Confirm the details of your certificate, then click OK.
The Import Trusted Certificate dialog appears. - When prompted "Do you want to accept the certificate as trusted?", click Yes.
- In Trusted Certificate Entry Alias, enter an alias for the certificate, then click OK.
The Trusted Certificate Import Successful message appears. - Click OK.
- Repeat these steps for the remaining intermediate certificates.
- Right-click the key pair in your keystore, and choose Import CA Reply.
- From Import CA Reply, select the signed server certificate in X.509 format, and click Import.
The X.509 certificates often have the file extension crt, cer, or der. - From the menu bar, select File > Save to save the imported certificates to your keystore.
Your keystore file is complete and ready to be imported into your Code42 server.
Build a keystore with existing key materials
If you want to use existing key materials to build a keystore, you can choose to:
- Append certificate to an existing keystore
- Reuse existing key materials (Linux)
- Reuse existing key materials (Windows)
Append certificates to an existing keystore
If you already have a keystore that contains certificates, you can append new certificates
If you don't have existing key materials, you can import certificates to the keystore.
- Start KeyStore Explorer.
- Choose Open an existing KeyStore.
- Select the keystore JKS file, click Open, provide the password, and click OK.
- In the main KeyStore Explorer window, right-click the certificate.
- Select Edit Certificate Chain > Append Certificate.
Reuse existing key materials from another application (Linux)
Follow these steps to reuse an existing private key/certificate combination from another application if you are running on Linux. These instructions assume that both your private key and certificate are PEM-formatted.
The following steps require the use of the command-line utility OpenSSL.
- Convert the PEM-formatted private key into a PKCS8-formatted key with the following command:
openssl pkcs8 -topk8 -nocrypt -outform DER -in mykey.pem -out mykey.pkcs8
- Start the KeyStore Explorer application.
- Choose Create a new KeyStore from the quick start menu.
- From New KeyStore Type, choose JKS.
- Click OK.
- From the menu bar, select Tools > Import Key Pair.
- From Import Key Pair Type, select PKCS #8.
- From Import PKCS #8 Key Pair, import the key pair as follows:
- If the private key file is encrypted, enter the decryption password in Decryption Password.
- In PKCS #8 Private Key File, enter the path to the private key file in PKCS # 8 format, or click Browse to navigate to the file.
- In Certificate(s) File, enter the path to the X.509 certificate file in PEM or DER format, or click Browse to navigate to the file.
- Click Import.
- In New Key Pair Entry Alias, enter an alias for the key pair.
- Click OK.
- In New Key Pair Entry, enter a password for the key pair.
The Key Pair Import Successful dialog appears. - Click OK.
- Select File > Save from the menu bar.
- In Set KeyStore Password, enter a keystore password, and click OK.
- In Save KeyStore As, enter the name of your new keystore file. Give the file the .jks file extension.
- Click Save.
Your keystore file is complete and ready to be imported into your Code42 server.
Reuse existing key materials from another application (Windows)
Follow these steps to reuse an existing private key/certificate combination from another application if you are running on Windows. Key materials on Windows platforms are typically stored in a PKCS12 keystore file. The KeyStore Explorer can convert a PKCS12 keystore file to a JKS file using the steps below.
- Start the KeyStore Explorer application.
- Select File > Open from the menu bar.
- Navigate to and select the PKCS12 file that you want to convert.
- Click Open.
- In Unlock KeyStore, enter the password for the keystore file and click OK.
- Select File > Save As from the menu bar.
- Enter a name with the .jks file extension for the new keystore.
- Click Save.
- Select Tools > Change Type > JKS from the menu bar.
- From Change KeyStore Type, click OK.
The Change KeyStore Type dialog displays "Change KeyStore type Successsful". - Click OK.
- Select File > Save.
The keystore file is saved in JKS format.
Your keystore file is complete and ready to be imported into your Code42 server.