This article describes how to bootstrap Smart ID Certificate Manager.
The purpose of the bootstrap procedure is to build the foundation for a PKI environment, including certificate authorities (CAs) and officers, and revoke the bootstrap CA. A bootstrapping must be performed after a new system installation, before the system can be used for production of certificates.
When performing the bootstrap procedure you will be using the two Certificate Manager clients Administrator's workbench (AWB) and Registration Authority (RA) in Certificate Manager, as well as other utility programs described below.
In addition to using software tokens for TLS and PIN encryption it is possible to store the tokens in hardware security modules (HSMs). It is also possible to combine one software token with one stored in HSM. The bootstrap procedure will differ depending on the use of HSM.
Note |
---|
Use the two bootstrap officers soft tokens in the boot kit until you have created two officers, and after that use the smart cards that you have then personalized. For the bootstrap officers, two step signing is disabled. |
Create officer and system CA
Expand |
---|
title | Create Officer and System CA key |
---|
|
To create an Officer and System CA key: Generate a new CA key for the Officer and System CA, according to Create CA key in Certificate Manager. . In Key name, enter Officer and system CA key. In Device, select an RSA type.
|
Expand |
---|
title | Create Officer and System CA |
---|
|
To create an Officer and System CA: Use the key Officer and system CA key created in the previous step, to create an Officer and System CA, according to Create CA in Certificate Manager. In CA name, enter Officer and system CA . Do the following selections in the CA Request dialog box:
Issuing CA - select Self-signed Usage - Certificate signing Format - self-signed ca-cert Country - current country Common name - Officer and system CA Organization - current organization
Info |
---|
No distribution rule is required but can be added later if necessary. |
|
Create bootstrap officers
Expand |
---|
title | Create certificate procedure for officer certificates |
---|
|
To create a certificate procedure: Create a certificate procedure to be used when issuing smart cards based on the Officer and System CA key . See Create certificate procedure in Certificate Manager. Do the following selections in the Certificate Procedure Request dialog box:
Procedure name - Officer certificates Key usage - do not select any key usage Issuing CA - Officer and System CA CA chain - none Certificate format - rfc5280 Set the Validity and Signature algorithm parameters as required.
|
Expand |
---|
title | Create token procedure for officer smart cards |
---|
|
To create a token procedure for smart cards: Create a token procedure to be used when issuing smart cards based on the certificate procedure you created in the previous step. See Create token procedure in Certificate Manager Do the following selections in the Token Procedure Request dialog box:
Procedure name - Officer cards Storage profile - Smart Card Card serial number - Yes Serial number range - Mandatory PIN procedure - Show PINs in client Issuer certificates - do not store any Certificate procedure - Officer certificates
Note |
---|
Smart cards are recommended. If, for some reason, it is not possible to use smart cards, PKCS#12 tokens can also be used as storage profiles. |
|
Expand |
---|
title | Personalize two officer smart cards |
---|
|
To personalize two smart cards: Produce two pre-personalized smart cards in your Key Generation System (KGS). See Produce smart cards in Certificate Manager. Register the two smart cards with information concerning two subjects who should become officers 1 and 2 of your system. See Issue smart card certificate in Certificate Manager. In the Smart Card tab of the Registration Authority application window, do the following steps for each of the two cards: Select action Add for each displayed key. Select the procedure you created in the previous step.
Make a note of the PIN codes assigned for the cards.
Note |
---|
If PKCS#12 has been chosen as storage profile in the token procedure, use the Soft Token tab in Registration Authority (RA) to issue certificates for your officers. If you use PKCS#12 officer tokens it is recommended to store the associated keys in an HSM. |
|
Expand |
---|
|
To create two officers: |
Expand |
---|
title | Create certificate procedure for TLS, KAR and PIN encryption |
---|
|
To create a certificate procedure for TLS, KAR and PIN encryption: Note |
---|
It is normally not necessary to select distribution rules for these certificates. |
|
Set up tokens for secure system communication
You can create hardware tokens or software tokens for TLS and PIN encryption.
Create hardware tokens for TLS and PIN encryption
These tasks are related to administrative system hardware tokens only, when a hardware security module (HSM) is used. Hardware tokens are an alternative to software tokens.
Expand |
---|
title | Create a token procedure with storage profile PKCS#10 |
---|
|
To create a token procedure with storage profile PKCS#10: Create a token procedure, according to Create token procedure in Certificate Manager. Use the following parameters: Storage profile - PKCS#10 Issuer certificates - do not store any Certificate procedures - the certificate procedure created for TLS, KAR and PIN encryption.
|
Expand |
---|
title | Prepare hardware security module for TLS token |
---|
|
To prepare the hardware security module (HSM) for TLS tokens: Run hwsetup to generate a key pair with sign property, according to Generate DSA/EC/RSA key pair. Example: hwsetup -libname crypto -slot 0 -pin abcd -id tls -genrsa 2048 -sign Run hwsetup to create a PKCS #10 request based on the generated key pair, according to Generate PKCS #10 certificate request. Include the key usage extension. Example, (on one line): hwsetup -libname crypto -slot 0 -pin abcd -id tls -keyusage -genreq "cn=localhost,o=Nexus" Use RA to issue a certificate to a file, tls.crt, based on the PKCS #10 request. Run hwsetup to store the certificate in HSM, according to Install certificate.
|
Expand |
---|
title | Prepare hardware security module for PIN encryption token |
---|
|
To prepare the hardware security module (HSM) for PIN encryption tokens: Run hwsetup to generate an RSA key pair, according to Generate DSA/EC/RSA key pair. The private key needs the sign property to sign the PKCS #10 request. Example: hwsetup -libname crypto -slot 0 -pin abcd -id pin -genrsa 2048 Run hwsetup to create a PKCS #10 request based on the generated key pair, according to Generate PKCS #10 certificate request. Include key usage extension with dataEncipherment . Example: hwsetup -libname crypto -slot 0 -pin abcd -id pin -keyusage dataEncipherment -genreq "cn=PIN encryption,o=Nexus" Use RA to issue a certificate to a file, pin.crt, based on the PKCS #10 request. Run hwsetup to store the certificate in the HSM, according to Install certificate.
|
Expand |
---|
title | Prepare hardware security module for KAR token |
---|
|
This step is only performed if the key archiving and recovery (KAR) option has been licensed and enabled during installation. The purpose of this step is to create a key encryption key (KEK). The KEK is used by the KARFactory in order to encrypt and decrypt archived keys. The KEK can be either a symmetric AES or DES3 key or an asymmetric RSA key pair. AES or DES3 key- Run hwsetup to generate a symmetric AES or DES3 key, see Generate AES or 3DES key.
Example: hwsetup -libname crypto -slot 0 -pin abcd -id kekaes256 -label kekaes256 -genkey AES-256
RSA keypair- Run hwsetup to generate an asymmetric RSA key pair, see Generate DSA/EC/RSA key pair. The private key needs the sign property to sign the PKCS #10 request.
Example: hwsetup -libname crypto -slot 0 -pin abcd -id kekrsa -label kekrsa -genrsa 2048 - Run hwsetup to create a PKCS #10 request based on the generated key pair (see Generate PKCS #10 certificate request). Include key usage extension with
keyEncipherment and dataEncipherment . Example: hwsetup -libname crypto -slot 0 -pin abcd -id kekrsa -keyusage "keyEncipherment,dataEncipherment" -genreq "cn=KEK,o=Nexus" - Use RA to issue a certificate to a file, kek.crt, based on the PKCS #10 request.
- Run hwsetup to store the certificate in HSM, according to Install certificate.
|
Create software tokens for TLS and PIN encryption
These tasks are related to administrative system software tokens only. Software tokens are an alternative to hardware tokens.
Expand |
---|
title | Create token procedure for TLS and PIN encryption |
---|
|
To create a token procedure for TLS and PIN encryption: Create a token procedure, according to Create token procedure in Certificate Manager. Use the following parameters: Storage profile - PKCS#12 Pin procedure - Show PINs in client Issuer certificates - do not store any Certificate procedures - the certificate procedure created for TLS, KAR and PIN encryption.
|
Expand |
---|
title | Issue software token for TLS |
---|
|
To issue a software token for TLS: Issue a software token based on the token procedure for TLS and PIN encryption, according to Issue software token in Certificate Manager. Name the file tls.p12. Make a note of the assigned PIN code. Save the file to a removable media for use in later tasks.
|
Expand |
---|
title | Issue software token for PIN encryption |
---|
|
To issue a software token for PIN encryption: Issue a software token based on the token procedure for TLS and PIN encryption, according to Issue software token in Certificate Manager. Name the file pin.p12. Save the PIN encryption certificate to the file pin.crt. Make a note of the assigned PIN code. Save the files to a removable media for use in later tasks.
|
Prepare data for CIS
Expand |
---|
title | Change key for signing logs in Certificate Issuing System (CIS) |
---|
|
Do these preparations for the Certificate Issuing System (CIS): In AWB, go to Key Registry > In Use > Officer and System CA key, and note the value of Identifier. Open <configuration_root>/config/cis.conf for editing. Find the parameter logsignkey and set it to the value of Identifier found in the AWB (see step 1). - Place the certificate file in CIS trust store: <configuration_root>/config/cistrust/system_ca.cer.
- Remove the Boot CA file from CIS trust store: <configuration_root>/config/cistrust/bootca.cer.
|