Below instructions are relevant for Control-M SaaS Agent v21.080 and higher for which the Agent uses external Java supplied by the customer.
In versions prior to v21.080, the Agent is installed with its internal Java so update of the ‘cacerts’ file requires install with no registration which is more complicated - instructions in internal KA 000395731.
The ‘cacerts’ file holds the Java Runtime Environment (JRE) trusted certificates which are used for https handshake.
The Agent is not aware of any internally used certificate so it will fail if any “unexpected” certificate is required on https handshake with “PKIX path building failed: … unable to find valid certification path to requested target”.
The solutions is to add to the Agent used Java ‘cacerts’ file the self-signed certificate which is accessible only by the customer so can be done only by the customer.
First, get the self-signed certificate used in pem format to file: ss-cert.crt – see below section ‘Get the self-signed certificate’.
Next, add the self-sign certificate to the Agent used Java ‘cacerts’ file as follows:
File path should be: {BMC_INST_JAVA_HOME}/lib/security/cacerts
cd {BMC_INST_JAVA_HOME}/lib/security/
First backup the original file: cp cacerts cacerts.ORIG
Import the self-sign certificate by running bellow command using java keytool:
{BMC_INST_JAVA_HOME}/bin/keytool -import -trustcacerts -alias ss-proxy -file ss-cert.crt -keystore cacerts
If above fails, try with password:
{BMC_INST_JAVA_HOME}/bin/keytool -deststorepass changeit -import -trustcacerts -alias ss-proxy -file ss-cert.crt -keystore cacerts
Note1: alias name used above for the certificate is ss-proxy, use other alias name if you want to.
Note2: default keystore password is used: changeit – should work.
Verify above import done ok by dumping the ‘cacerts’ updated certificates list to - ‘cacert-list.txt’, check ‘ss-proxy’ is included in dump file.
{BMC_INST_JAVA_HOME}/bin/keytool -storepass changeit -list -v -keystore cacerts > cacert-list.txt
Note: run above list command before and after import to different dump files and compare the two – should be different due to the added certificate.
Last, run Agent install again and check if problem resolved.
If installation fails, it is important to send us the ‘ctm_ag_saas_cmd.log’, as detailed in below install error message:
Linux: “More details in ‘ctm_ag_saas_cmd.log‘ under Control-M/Agent proclog directory or after rollback in $HOME/BMCINSTALL/log”
Windows: “More details in ‘ctm_ag_saas_cmd.log‘ under Control-M/Agent proclog directory or after rollback in %temp%”
Get the self-signed certificate
Best is to contact the IT to get the self-signed certificate used by your organization for proxy.
If Cisco Umbrella is used as proxy it uses self-signed certificate which can be retrieved as explained here:
https://docs.umbrella.com/deployment-umbrella/docs/install-cisco-umbrella-root-certificate