Is it possible to change the Java JRE version used by Control-M for Advanced File Transfer or Managed File Transfer? |
NOTE: This article does not apply to Control-M Managed File Transfer 9.0.20 and higher. See the Control-M Managed File Transfer documentation under the section "Changing the JRE package in Control-M MFT" for further details Control-M/Advanced File Transfer and Managed File Transfer does not use the BMC_JAVA_HOME environment variable described in article 000132728 (as opposed to Control-M Application Pack, it doesn't use the same Java JRE version that the Agent is using). To direct the AFT/MFT to use a different JRE (as long as it is with the same major version 1.8.xxx) please change the following: 1. link the <Control-M/Agent Home>/cm/AFT/JRE_LINK to the new location.
2. Backup and modify the new JRE lib/security/java.security file with our security providers (that can be taken from our <Control-M/Agent Home>/cm/AFT/JRE_LINK/lib/security/java.security file). java.security file is located in: - java 8 and earlier: <java path>/lib/security/ - java 11 and higher: <java path>/conf/security/ The section that should be modified looks like this: security.provider.1=... security.provider.2=... For AFT, just find the JRE that you want to use and add the security.provider as described above, find following a sample showing how was and how it is now: --- OLD > security.provider.1=sun.security.provider.Sun > security.provider.2=sun.security.rsa.SunRsaSign > security.provider.3=sun.security.ec.SunEC > security.provider.4=com.sun.net.ssl.internal.ssl.Provider > security.provider.5=com.sun.crypto.provider.SunJCE > security.provider.6=sun.security.jgss.SunProvider > security.provider.7=com.sun.security.sasl.Provider > security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI > security.provider.9=sun.security.smartcardio.SunPCSC --NEW < security.provider.1=sun.security.pkcs11.SunPKCS11 ${cm.home}/data/nss.cfg < security.provider.2=sun.security.provider.Sun < security.provider.3=org.bouncycastle.jce.provider.BouncyCastleProvider < security.provider.4=sun.security.rsa.SunRsaSign < security.provider.5=sun.security.ec.SunEC < security.provider.6=com.sun.net.ssl.internal.ssl.Provider < security.provider.7=com.sun.crypto.provider.SunJCE < security.provider.8=sun.security.jgss.SunProvider < security.provider.9=com.sun.security.sasl.Provider < security.provider.10=org.jcp.xml.dsig.internal.dom.XMLDSigRI < security.provider.11=sun.security.smartcardio.SunPCSC < security.provider.12=sun.security.mscapi.SunMSCAPI Then rename the Directory/Folder from JRE to JRE_OLD or any other name, then create a symbolic link/shortcut to JRE that you want to use, as the following sample: centos7% ls -ltr total 4 drwxr-xr-x. 2 ctm919 ctm919 6 Feb 24 12:10 pgp_tmp drwxr-xr-x. 2 ctm919 ctm919 6 Feb 24 12:10 temp drwxr-xr-x. 6 ctm919 ctm919 211 Feb 24 12:10 JRE_ORI drwxr-xr-x. 5 ctm919 ctm919 257 Feb 24 12:13 data drwxr-xr-x. 5 ctm919 ctm919 4096 Feb 24 15:09 exe lrwxrwxrwx. 1 ctm919 ctm919 65 Feb 24 15:11 JRE -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.282.b08-1.el7_9.x86_64/jre/ centos7% |