PKI Renewal Software Configuration

This section provides procedures for setting up and configuring the PKI renewal software.

Copy the entire Tools folder and the entire SDK folder of the ActivID CMS distribution into the following directory location: C:\Program Files\HID Global (or any other location of your choice on your hard drive).

Configuration Files

Important: Before you perform any modifications to the configuration files, make backup copies.

Configuration files are stored in the conf folder. The main configuration file is named common. It is a database-dependent file. The ActivID CMS installation provides two configuration files:

  • common_ORACLE.xml for systems using an Oracle database

  • common_SQLSERVER.xml for systems using an SQL Server database

Make a duplicate of the common_<database>.xml configuration file for the type of database you are using, and rename the copy of the file to: common.xml. This is the XML configuration you are about to update in the following sections of this documentation.

Security Modes

The PKI renewal software can be configured to start in either of two modes: attended or unattended. The PKI renewal software enables the ActivID CMS operator client certificate to be stored either as a pfx file, or in a hardware security module (HSM). The following table lists the supported configurations in this ActivID CMS release.

Supported Security Modes

ACR Mode

Operator Client Certificate Storage

PFX File Password

Hardware Security Module (HSM) PIN

User Database Password

Unattended

PFX file

XML configuration file

N/A

XML configuration file

Unattended

HSM

N/A

XML configuration file

XML configuration file

Attended

HSM

N/A

Prompted

Prompted

Database Access

This section covers the configuration of the Oracle and Microsoft SQL Server databases, as well as the re-encryption of the database passwords.

ActivID CMS Portal Configuration

To configure an ActivID CMS Portal, complete the following tasks.

  1. Issue a certificate from a certificate authority trusted by your ActivID CMS.

  2. Link this certificate to an ActivID CMS operator who has the minimum following role privileges (as illustrated next).

    • Help Desk:

      • Lookup

      • Request Applications Update

      • Request Re-Issuance

    • Requests:

      • Lookup

    • Users:

      • Lookup

        • New User From Existing One

        • Update User

    • Configuration:

      • Connectivity Check

      • Client Configuration

  3. Copy the operator certificate to the Automatic_Cert_Renewal/conf/certificates directory, and rename the file to renewalOperator.pfx.

  4. Note: About the next step: The truststore should be used ONLY when the configuration of the CA that issued the ActivID CMS Web server certificate relies on a certificate trust list. Otherwise, you should copy the ActivID CMS Web server Root CA certificate (for example, the root.cer file) to the same directory (Automatic_Cert_Renewal folder).
  5. Create an ActivID CMS server truststore that contains the certificate trust list to authenticate the ActivID CMS Web server, and then copy it to the Automatic_Cert_Renewal/conf/certificates directory, and rename it to server.trustore.

    For information on how to create a truststore, see Creating a Server Truststore.

  6. Locate the common.xml file found inside the conf folder (in the Automatic_Cert_Renewal/conf/ directory).

  7. Edit the common.xml file. Locate the XML element cmsPortal.

    Copy
      <cmsPortal>
        <url>https://cmsserver.domain.com:32456</url>
        <clientCertificate storage=”file”>
          <filename>./conf/certificates/renewalOperator.pfx</filename>
          <password isSecret="true" isEncrypted="false">password</password>
          <hsmKeyLabel>keyLabel</hsmKeyLabel>
          <hsmConfigurationFile>./conf/pkcs11.cfg</hsmConfigurationFile>
          <hsmPin isSecret="true" isEncrypted="false">hsmPin</hsmPin>
        </clientCertificate>
        <serverCertificate storage="file">
          <filename>./conf/certificates/root.cer</filename>
          <password isSecret="true" isEncrypted="false">password</password>
        </serverCertificate>
        <pollingInterval>5000</pollingInterval>
        <pollingMaxAttempts>50</pollingMaxAttempts>
      </cmsPortal>
  8. Locate the URL element and modify it to match your configuration (for example, <url>https://cmsserver.domain.com:32456</url>, where cmsserver.domain.com represents the hostname of the ActivID CMS portal.

  9. Locate the clientCertificate element. You can configure the PKI renewal software to use the client certificate of the ActivID CMS operator stored either in a pfx file or in an HSM. Set the storage attribute value storage=“file” (in bold above) to the appropriate value. "file" is the default. You can also use "hsm". Refer to the following guidelines:

    • If you set this attribute to "file", then locate both the filename and password element in the clientCertificate section. If needed, modify the filename element value to the appropriate path for the client certificate file, and set the password of the client certificate file using the password element attribute value. You can ignore all other parameters in the clientCertificate section.

    • If you set this attribute to "hsm", then locate these three elements (hsmKeyLabel, hsmConfigurationFile, and hsmPin) in the clientCertificate section. Set the key label of the client certificate in the HSM to the appropriate value in the hsmKeyLabel element. Set the path to the HSM configuration file in the hsmConfigurationFile element. A default configuration file (pkcs11.cfg) comes with the PKI renewal tool in the conf folder. You can edit this default file or replace it with the file from the ActivID CMS server (stored in the %PROGRAMDATA%\HID Global\Credential Management System\Local Files directory).

    • If you configured the PKI Renewal in the unattended mode, then set the HSM PIN value in the hsmPin element. Otherwise, ignore this parameter. You will be prompted for the HSM PIN when running the PKI Renewal tool. For related information, see PKI Renewal Software Configuration.

  10. Locate the serverCertificate section. You can configure the PKI renewal software to use the trust list required to authenticate the ActivID CMS server stored either in a single file (.cer file) or in a truststore. See Creating a Server Truststore. To do this, set the storage attribute value to the appropriate value: "file" (default) or "truststore". There are other file server certificate configuration parameters that must be set depending upon the storage mode you chose using the following guidelines:

    • If you set this attribute to "file", then locate the filename element in the serverCertificate section, and set the path for the root certificate file (.cer file) in the filename element. You can ignore all other parameters in the serverCertificate section.

    • If you set this attribute to "truststore", then there is no need to modify the filename element if you generated your certificate trust list as described previously. Otherwise, set the filename element value to the appropriate path to the certificate trust list file, and set the password of the certificate trust list file in the password element.

  11. Save and close the file to save your configuration changes.

Email Configuration

This section covers how to configure the email server, as well as the sending of emails to users and administrators.

Reporting

To configure the renewal batch reporting process, complete the following tasks.

  1. From the installation directory, locate the common.xml file within the conf folder.

  2. Locate the XML element reports and edit the common.xml file.

Note: To configure a delimiter for the .csv file, you can set the csvseparator attribute to the desired value, for example:
Copy
<reports csvseparator =",">

If this attribute is not set, the default value ";" (semi-colon) is used.

The reports are generated in the reports folder, available at: \Tools\Automatic_Cert_Renewal\reports.

The reports folder contains the following sub-folders for each type of report:

  • Administration

  • Renewal

  • Update

The report is generated in the csv format.

Device Policies Configuration

  1. From the installation directory, locate the common.xml file in the conf folder.

  2. Locate the XML element policies.

    Copy
     <policies>
            <policy from="MS PKI" to="MS PKI" reissuance="true"/>
            <policy from="Verisign PKI" to="Verisign PKI" reissuance="true"/> 
      </policies>
  3. The XML element policies contains a list of element policies, and each of these elements corresponds to a possible transition from one policy to another (or the same policy) based on the posting of a device update request in ActivID CMS.

  4. Batch renewal uses the device policy configuration to determine the target policy that corresponds to the current device policy, as follows:

    • from—corresponds to the current device policy.

    • to—corresponds to the device policy that will be applied when an ActivID CMS applications update request is posted.

    • A device policy (such as a PKI Policy) can only be used once in the "from" attribute; this means, if a device policy is used once in the "from" attribute, it should not be used again in the "from" attribute in the same common.xml file.

    If, during the batch renewal, a device corresponding to a specific device policy is found, and that device policy is not present in this configuration file, then an error is generated.

  5. By default, a transition can be made only through a device applications update request. However, you can specify a device reissuance request by setting the argument reissuance=true attribute (as shown in the following example).

    Copy
    <policy from="PKI Policy" to="PKI Policy" reissuance=”true”/>

Verifying the Installation

This section briefly describes how to verify if the Automatic Certificate Renewal installation has been properly performed. To verify that the Automatic Certificate Renewal installation has been properly completed and that the ActivID CMS server-based solution can connect to the ActivID CMS server:

  • Run the check.bat batch file located in the bin folder of the PKI renewal solution.

  • If the check.bat batch file returns the proper values for the ActivID CMS database version and the ActivID CMS portal version, then this verifies that the installation has been properly performed.

For all other processes, when “attended” is the security mode setting (securityMode= “attended”), the Enter Secure Credentials window is displayed when running the verification process.

Note: To enable debug logging, locate the default logback.xml file inside the conf folder (in the Automatic_Cert_Renewal/conf/ directory) and replace ERROR with DEBUG.

Password Encryption

The first time you launch the check.bat file, all passwords are encrypted and stored in base64 format as shown in the following example:

Copy
<common securityMode="unattended">
  <secret filename="./conf/secrets.jks" encryptedPassword=
   "ucB0S2pfUZ5+dj6IZ5B+xg==" attended="false" />
  <cmsDatabase>
   <dataSource>com.microsoft.sqlserver.jdbc.SQLServerDataSource</dataSource>
  <url>jdbc:sqlserver://cmsserver.domain.com/AIMSEE;serverName=cmsserver.domain.com;
 databaseName=AIMSEE;socketTimeout=600</url>
 <userName>AIMSEE</userName>
  <password isSecret="true" isEncrypted="true">j+ecrMjSlkeaxAxsIdaqKg==</password>
 </cmsDatabase>
 <cmsPortal>
  <url>https://cmsserver.domain.com:32456</url>
  <clientCertificate storage="file">
   <filename>./conf/certificates/renewalOperator.pfx</filename>
   <password isSecret="true"isEncrypted="true">j+ecrMjSlkeaxAxsIdaqKg==</password>
   <hsmKeyLabel>keyLabel</hsmKeyLabel>
   <hsmConfigurationFile>./conf/pkcs11.cfg</hsmConfigurationFile>
   <hsmPin isSecret="true" isEncrypted="true">+8nTcb4i79LwDBzdcn9SdA==</hsmPin>
  </clientCertificate>
  <serverCertificate storage="file">
   <filename>./conf/certificates/root.cer</filename>
   <password isSecret="true"isEncrypted="true">j+ecrMjSlkeaxAxsIdaqKg==</password>
  </serverCertificate>
  <pollingInterval>5000</pollingInterval>
  <pollingMaxAttempts>50</pollingMaxAttempts>
 </cmsPortal>
Note: To generate the security.jks file and encrypt the password, make sure that the attribute action=“encrypt” is present in the <common> XML element.