Applications Manager (AppWorx) client cannot login due to ssl_handshake failure error

Symptoms:

While attempting to log into Applications Manager (AppWorx) from either a Mac or Windows client, the following error is encountered:

javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2020)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1127)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:750)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)
at java.io.OutputStream.write(OutputStream.java:75)
at com.appworx.shared.code.server.B.A(RequestSocket.java:140)
at com.appworx.client.screen.util.ClientSocketManager.A(ClientSocketManager.java:132)
at com.appworx.client.screen.util.ClientSocketManager.connect(ClientSocketManager.java:316)
at com.appworx.client.screen.util.Loader.setMaster(Loader.java:936)
at com.appworx.client.screen.logon.C.Ń(Logon.java:230)
at com.appworx.client.screen.main.AxMain.A(AxMain.java:2241)
at com.appworx.client.screen.main.AxMain.main(AxMain.java:2836)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:748)
Network socket error

Recent Changes:

The Java JDK was updated to a new version on the client machine, or was freshly installed.

Cause:

The default installation of Java disables two TLS ciphers by default, which are required in order for the client computer's Java Web Start to properly launch the Applications Manager client.

Solution:

This problem can be resolved by editing the java.security file contained in the JDK installation.  The manner in which the file should be edited varies from Windows to Mac clients.  Both procedures are discussed below.  On either OS, it is necessary to determine the JDK path by consulting the Java Console.

Windows

Click on the Start icon and search for Java, then open the Java Console and click on the "Java" tab to display the full path of the JDK.

 

macOS

Click the Apple icon on the upper left corner of the top menu bar, and select "System Preferences".  Click on the Java icon to open the Java Console.  Then, click the "Java", tab, and click "View" to display the path of the current JDK.

 

 

Once you know the path of the JDK, you will need to locate a file with the name java.security.  This file must be edited as an administrator on Windows, or as root using "sudo" on the Mac.

On a Mac, the file is located at: Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/java.security

If you need to just enable the ciphers, in Terminal you can run:

sudo sed -i '' s/\,\ anon\,\ NULL//g "/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/security/java.security"

A comprehensive script to configure Java 8 to run AppWorx on macOS can be found at:

https://git.dartmouth.edu/esg/awx_java8_macos

100% helpful - 2 reviews

Details

Article ID: 97069
Created
Fri 1/31/20 9:11 AM
Modified
Tue 5/26/20 10:29 AM