SOI Mobile UI not working after upgrade to 4.2

Document ID : KB000123106
Last Modified Date : 18/12/2018
Show Technical Document Details
Introduction:
After upgrading to SOI 4.2 the mobile UI is not working. We are getting the following error when trying to access the mobile UI: ERR_CONNECTION_REFUSED We have rebooted all the SOI servers and verified that all the services are running. Also verified that the Windows firewall is not running and stopping the connections. Documentation to troubleshoot the Mobile UI is a little... sparse and lacking. The only article in that topic is "Service Names do not Appear on the Mobile Dashboard." That doesn't help with it not running or not being able to connect to it.
Background:
The ssa.jks file on the UI server was empty.

The soi-ui_wrapper.log contain the following error.

INFO   | jvm 1    | 2018/12/13 10:15:47 | SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-0.0.0.0-7403"]
INFO   | jvm 1    | 2018/12/13 10:15:47 | java.io.IOException: Cannot recover key
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:544)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:266)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:403)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:728)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:452)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.catalina.connector.Connector.initInternal(Connector.java:978)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.catalina.core.StandardService.initInternal(StandardService.java:560)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:840)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.catalina.startup.Catalina.load(Catalina.java:654)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.catalina.startup.Catalina.load(Catalina.java:679)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at java.lang.reflect.Method.invoke(Method.java:497)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:253)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:427)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at java.lang.reflect.Method.invoke(Method.java:497)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.tanukisoftware.wrapper.WrapperStartStopApp.run(WrapperStartStopApp.java:264)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at java.lang.Thread.run(Thread.java:745)
INFO   | jvm 1    | 2018/12/13 10:15:47 | Caused by: java.security.UnrecoverableKeyException: Cannot recover key
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at sun.security.provider.KeyProtector.recover(KeyProtector.java:328)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:138)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:55)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at java.security.KeyStore.getKey(KeyStore.java:1023)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at sun.security.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:133)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at sun.security.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:70)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:256)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:645)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:574)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:519)
INFO   | jvm 1    | 2018/12/13 10:15:47 |     ... 25 more
 
Environment:
SOI 4.2
Instructions:
The ssa.jks file on the UI server was empty. Here are the steps to recreate the ssa.jks file, 1) Stop CA SAM User Interface Server service 2) Delete or rename C:\Program Files (x86)\CA\SOI\SamUI\conf\ssa.jks 3) Open command prompt and run "C:\Program Files (x86)\CA\SOI\jre-64\bin\keytool.exe" -genkeypair -alias tomcat -keyalg RSA -keysize 2048 -validity 3650 -dname CN=u187704.ca.com -storepass catalyst -keystore "C:\Program Files (x86)\CA\SOI\SamUI\conf\ssa.jks" NOTE: The above command will create a new ssa.jks file with the self signed cert. Make sure to change the path to reflect your env. Also change the -dname to the hostname of your UI server. 4) Restart CA SAM User Interface Server service