What You Need
Before starting to configure your secure connections with TLS, you need to have done the the following:
- Generated certificates, with associated private and public keys, and CRLs.
- Made certificates available for applications on hosts
- Installed the Genesys Security Pack, if you are using native applications on Unix platforms.
Each of these requirements are described below.
TLS Certificates
TLS certificates must be generated and installed appropriately on any host that runs Genesys applications that utilize TLS secure connections. A certificate is generated and signed using a certification authority (CA) entity, which is able and authorized to issue certificates signed with its own name.
The actual process of certificate generation in a specific environment is highly dependent on the security policies of your IT organization and tools used, and can, therefore, be different from the process described in this chapter. Genesys recommends that you consult with your network administrator before generating certificates for secure data exchange between Genesys components. Certificates can be purchased from well-known certificate authorities, such as VeriSign. Certificates can be generated and self-signed on Linux using the OpenSSL tool, assisted by scripts distributed with the Genesys Security Pack. Windows Certificate Service can be used to generate and sign certificates. You may self-sign your certificates or you can have Windows Certificate Service in your organization be a part of chain of trusted authorities already. Generated and signed certificates must also be installed to be used by Genesys components. This procedure differs depending on the host operating system on which the certificates are installed.
Recommended Certificate Properties
When retrieving or generating a certificate, the following properties are recommended to ensure the connections using this certificate are as secure as possible:
Generating Certificates using OpenSSL and Genesys Security Pack
The OpenSSL toolkit can be used to set up a CA infrastructure and issue self-signed certificates. Use this method if certificates are to be utilized in a mixed environment, including Windows and Linux hosts, along with Java PSDK-based components.
Scripts distributed with Genesys Security Pack simplify CA creation and certificate generation. These scripts use the SHA-256 message digest algorithm by default, but allow fallback to SHA-1 if required. Genesys recommends that you do not use SHA-1.
Prerequisites
To generate certificates, you need an OpenSSL command line tool installed on the system. Obtain the most recent valid binary distribution from the OpenSSL official website. To utilize Genesys Security Pack scripts, you need a set of standard GNU console utilities, including bash, awk and touch.
Generation Process
| 1. Create a CA directory in which CA files—scripts, configuration files, and generated certificates—will be stored. | ||||||||||||||||||||||||||||
| 2. Copy the create_ca.sh and create_cert.sh scripts from the installation package to the CA directory that you just created. Make sure that these scripts have executable permissions. | ||||||||||||||||||||||||||||
3. Run the create_ca.sh script from the bash shell by specifying the proper parameters (described in the table below) in the following command line:create_ca.sh [-keySz KEY_SIZE] [-dgst DIGEST_ALGORITHM] [-time VALID_TIME] -CN COMMON_NAME [-E EMAIL] [-OU ORG_UNIT] [-O ORGANIZATION] [-L LOCALITY] [-S STATE] [-C COUNTRY]The parameters are described in the following table: [+] Show table
create_ca.sh -CN “Basic Certification Authority” -E “youremail@yourdomain.com” -OU “Department” -O “Genesys Telecommunication Labs” -L “Daly City” -S CA -C US | ||||||||||||||||||||||||||||
| 4. Generate certificates as required. To generate a certificate for a particular host computer:
Go to the CA directory in which the CA files are stored. Run the create_cert.sh script from the bash shell by specifying the parameters (see the following table) in the following command line: create_cert.sh [-keySz KEY_SIZE] [-dgst DIGEST_ALGORITHM] [-time VALID_TIME] -host HOST_NAME -CN COMMON_NAME [-E EMAIL] [-OU ORG_UNIT] [-O ORGANIZATION] [-L LOCALITY] [-S STATE] [-C COUNTRY]The parameters are described in the following table: [+] Show table
create_cert.sh -host myHOST.domain1.domain2.com -CN myWorkstation | ||||||||||||||||||||||||||||
5. If you are installing certificates on any Java-based PSDK applications, such as Universal Contact Server, convert the private key file to PKCS #8 format. Use the following command:
convert_priv_key.sh -in INPUTFILE -out OUTFILE [-informat pfx|pkcs8|pkcs12|rsa] [-outformat pkcs8|rsa] [-encrypt]
Certificate Authority FilesAfter successful script execution, the following data structure is created:
Host Certificate FilesAfter successful script execution, the following files are created in the repository directory:
where:
Certificate Revocation ListsRevocation lists are maintained using plain text files when certificates are managed using OpenSSL/Genesys Security Pack. See configuration of TLS Connections for details how to configure Certificate revocation functionality for native applications that rely on Genesys Security pack. Note that for Windows native and .Net application you have to turn off certificate revocation check if your certificates are produced as discussed in this section. See See configuration of TLS Connections for details Generating Certificates Using Windows Certificate ServicesThis section describes how to create certificates using Windows Certificate Services. If necessary, you can also obtain a certificate from a remote machine. Use these certificates if you intend to run all of your applications on Windows. If you intend to run one or more applications that might require secure connections on UNIX, Genesys strongly recommends that you use OpenSSL to create your certificates. Make sure that certificate templates are properly configured for server and GUI applications to satisfy requirements for necessary certificate attributes, discussed above. Important The examples provided in this section assume that Windows Certificate Services have been installed and configured. For information about how to install and configure Windows Certificate Services, see the appropriate Windows documentation.Generation ProcessTo generate certificates with Windows Certificate Services, do the following:
Installing Certificates on Windows for native applications and applications with .NET DependencyImportant For server applications, the certificates must be installed under the Local Computer account. For desktop applications, the certificates must be installed under the Current User account. For more information, see Managing Certificates in MMC.Initial installation
Managing Certificates using MMC on WindowsYou can use the Microsoft Management Console (MMC) to manage certificates on a Windows platform. Configuring MMC for Certificate ManagementTo configure MMC for certificate management:
Exporting CertificatesIf the computer that is running Genesys applications is different from the one on which you generated the certificate, you must first export the certificate and its private key, as follows:
Obtaining Certificates from a Remote ComputerTo obtain a certificate from a remote computer:
Installing Certificates on Unix for native applicationsImportant
you must install the CA self-signed certificate file, ca_cert.pem, the certificate issued by this CA <serial_#>_<host_name>_cert.pem, and the certificate private key <serial_#>_<host_name>_priv_key.pem on each computer that hosts Genesys Server applications that might require secure data exchange.
Warning The <serial_#>_<host_name>_priv_key.pem file contains critical security information. Make sure it can only be accessed by personnel authorized to work with this type of information.Installing Certificates for applications with Java dependencyYou have to follow steps described for native applications using Genesys Security Pack if Java application is using file system to access certificates, with consideration that <serial_#>_<host_name>_cert.pem and the private key file converted to pkcs#8 format <serial_#>_<host_name>_priv_key_NEW.pem. You have to follow Java documentation to install certificates for applications that use certificate store, with consideration that that <serial_#>_<host_name>_cert.pem is converted to pkcs#12 (pfx) format . Typically you will:
Tip Genesys recommends that you use PEM files with PSDK Java for consistency.
Install Genesys Security PackImportant The Genesys Security Pack on UNIX must be installed on each UNIX host computer on which Genesys native applications that use TLS are installed.Tip Along with libraries and scripts, a file README.version is installed as a part of Genesys Security Pack. If you have to report any security-related issues, you must also include the (cut-and-pasted) contents of this file. The information in this file contains complete Genesys Security Pack version information, which is difficult to obtain otherwise. For information about the operating systems supported by the Genesys Security Pack on UNIX, refer to the Genesys Supported Operating Environment Reference Guide. Genesys Security Pack is consistent with Federal Information Processing Standards (FIPS) starting in release 8.1.1. For information about these standards, and how to enable FIPS in Genesys software, refer to the FIPS section of this Guide. To install Genesys Security Pack, complete the following steps:
Warning Access permissions to the path to the Security Pack libraries, and the libraries themselves, must be set to enable Genesys applications to access them. If necessary, use the chown command to change the access permissions, as follows:sudo chown <account name> -R <path to Security Pack libraries> |
