1
votes

My java version is 1.6 and connect to a server over ssl using axis 2 stub; all used to work fine. It seems like they did some upgrade (apache2.4) and the ssl handshake doesn't happen anymore. I receive javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake error. Just for testing purpose, I locally installed jdk 8 and tested it works fine. Is there any way to make this work using jdk1.6? It is not possible to upgrade jdk now.

2
"It is not possible to upgrade jdk now." You do know that JDK 1.6 is not supported anymore, right? A good Java application should seamlessly (or at least easily) run on newer versions. You could possibly try another SSL implementation, SSL implementations are plugable (payware) in Java. - Maarten Bodewes

2 Answers

3
votes

It is hard to tell without more details but I guess that the server either requires a TLS version unsupported by JDK 6 (e.g. TLS 1.1 or TLS 1.2) or uses ciphers which are not supported by JDK 6 yet. Another option might be that the server needs SNI (server name indication) which is not supported by JDK 6. If the problem is any of these things you are unfortunately out of luck with JDK 6.

I suggest you check with SSLLabs to get more details about the problem. They show also compatibility information regarding various JDK versions.

0
votes

You could try using a 3rd party JCE provider, Bouncy Castle comes into mind: https://www.bouncycastle.org