This article outlines the required steps to set up and trust a self-signed certificate on the Tomcat server running in the Library/Web pod of CMC environments.
1. Copy Certificate
Copy self-signed certificate file into the library pod’s persistent folder /data/library
/data/library/server.crt2. Update Environment Script
Update /data/library/tomcat/bin/setenv.sh, append the following code at the end.
cp $JAVA_HOME/lib/security/cacerts /usr/local/tomcat/conf/truststore.jks
keytool -importcert -trustcacerts -alias myrootca -file /data/library/server.crt -keystore /usr/local/tomcat/conf/truststore.jks -storepass changeit -nopromptexport CATALINA_OPTS="$CATALINA_OPTS -Djavax.net.ssl.trustStore=/usr/local/tomcat/conf/truststore.jks -Djavax.net.ssl.trustStorePassword=changeit"/WEB-INF/classes/auth/trusted.jksUpdate /data/library/tomcat/bin/setenv.sh, append the following code at the end.
keytool -importcert -trustcacerts -alias myrootca -file /data/library/server.crt -keystore /WEB-INF/classes/auth/trusted.jks -storepass $(awk -F"'" '/TRUSTSTORE_PASSPHRASE/ {print $2}' /home/mstr/mstr-bootstrap/library-bootstrap/utils/confUtils.js) -noprompt
3. Verification
Verify Tomcat Truststore for Library/BIWeb/Mobile services.
keytool -list -v -keystore /usr/local/tomcat/conf/truststore.jks -storepass 'changeit' -alias myrootcakeytool -list -v -keystore /WEB-INF/classes/auth/trusted.jks -storepass $(awk -F"'" '/TRUSTSTORE_PASSPHRASE/ {print $2}' /home/mstr/mstr-bootstrap/library-bootstrap/utils/confUtils.js) -alias myrootca
4. Restart Pod
Restart library pod for this to take effect.
changeit with your actual keystore password if different./data/library/server.crt exists before updating the script./home/mstr/mstr-bootstrap/library-bootstrap/utils/confUtils.js → TRUSTSTORE_PASSPHRASE