CM4D web application API's use TLS and therefore require a secure signed certificate.
A self-signed certificate will work for testing but it is HIGHLY RECOMMENDED to use a production grade certificate from a Certificate Authority (CA) that provides SSL Certification (e.g., GoDaddy, Cloudflare, GeoTrust, etc.).
For more information on how to replace the default certificate from configuration, please refer to the Microsoft documentation.
This option applies only for workstations that are configured on a domain within a company that has configured a Certificate Authority from your IT department. Before applying the steps described bellow please consult with your IT department to see if they support importing/requesting certificates from their respected Certificate Authority.
Follow the steps below to create a certificate for the ADOS web API’s that require HTTPS and is the recommended approach. Self-signed certificates should not be used for ADOS web API’s except for testing.
If the certificate is to be used with the HOOPS Communicator Server, the requested certificate must include the Private Key and it must be exportable. Not all organizations allow this type of request, but this will be required in order to export the certificate to a file for use with the HOOPS server. See the next section, SSL Certificate and Key Files (Non-Windows Certificate Store), for more information on exporting certificates.
The certificate uses a FQDN in the Subject Alternative Name and therefore the ADOS web API’s (Security Manager, Configuration Manager, License Manager, Bus services, Inspect services, CM4D services) should configure the FQDN everywhere the hostname is required. Clients should then invoke the services using the FQDN otherwise the browser will display a warning message for invalid host name and will result in a HTTP Bad Request.
There may be multiple certificates in the personal store with the same ‘Issue to’ property. This causes an issue when the certificate that has the ‘Server authentication’ set expires earlier than the certificate that does not have that intended purpose set. The ADOS web API’s select the certificate by its subject CN and the longest validity. It does not check the intended purpose.
It is recommended to check if the subject common name can be changed in the certificate type selection window as indicated below:
For further information on working with certificates, please refer to the official Microsoft documentation here.
For additional information regarding configuration on Kestrel, please refer to the official Microsoft documentation here.
In some cases, such as with the HOOPS Communicator third-party SDK, an application/service cannot access the Windows certificate store to establish a secure connection for its clients. Instead, the SSL Certificate can be stored as a PEM file with an additional KEY file containing the Private Key. Both of these files contain sensitive information and should be handled carefully.
Exporting a certificate to a PFX file has some requirements:
Once you have exported your certificate to a PFX file, you will need to convert the PFX file to a PEM file and a KEY file. Both of these files are required for the HOOPS Communicator Server, which is a third-party SDK that does not use the Windows Certificate store and therefore requires a separate Certificate File and Private Key File to be specified during installation (part of the CM4D Peruse Installer).
This process requires a tool such as OpenSSL. While the example provided here is for OpenSSL, there are other tools that accomplish the same result.
Copy the exported PFX file to the install location of OpenSSL (.\Program Files\OpenSSL-Win64\bin).
PFX to PEM:
openssl pkcs12 -in certfile.pfx -out certfile.pem -nokeys -clcerts
PFX to KEY:
openssl pkcs12 -in certfile.pfx -out certfile.key -nocerts -nodes
Can we improve this topic?