Category: java
javax.net.ssl.SSLHandshakeException: “Remote host closed connection during handshake” opening an HTTPS page with HTMLUnit
While trying to fetch the HTTPS page https://portal.mvp.bafin.de/database/AnteileInfo/ using HTML Unit 2.23 under Java 7, Ubuntu Linux, I received the following exception: Remote host closed connection during handshake
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
Exception in thread "main" javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:880) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1262) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1289) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1273) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:394) at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:353) at com.gargoylesoftware.htmlunit.httpclient.HtmlUnitSSLConnectionSocketFactory.connectSocket(HtmlUnitSSLConnectionSocketFactory.java:189) at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:141) at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353) at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380) at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236) at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184) at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88) at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110) at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184) at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:71) at com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConnection.java:183) at com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection(WebClient.java:1358) at com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1275) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:382) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:304) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:451) at com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:436) at fetchers.bafin.SSLTest.main(SSLTest.java:16) Caused by: java.io.EOFException: SSL peer shut down incorrectly at sun.security.ssl.InputRecord.read(InputRecord.java:352) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:861) ... 23 more |
The code was the following
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import java.io.IOException; import java.net.MalformedURLException; import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException; import com.gargoylesoftware.htmlunit.WebClient; import com.gargoylesoftware.htmlunit.html.HtmlPage; public class SSLTest { public static void main(String[] args) throws FailingHttpStatusCodeException, MalformedURLException, IOException { final String URL = "https://portal.mvp.bafin.de/database/AnteileInfo/"; final WebClient wc = new WebClient(); // the code should be ok without the following line, // but even with it, it doesn't work // wc.getOptions().setSSLClientProtocols(new String[]{"TLSv1.1","TLSv1.2"}); final HtmlPage mainPage = wc.getPage(URL); } } |
The problem was solved upgrading to Java 8. I upgraded to Java 8 after reading Oracle’s blog about HTTPS … Continue reading “javax.net.ssl.SSLHandshakeException: “Remote host closed connection during handshake” opening an HTTPS page with HTMLUnit”
Hibernate/c3p0: apparent deadlock
The apparent deadlock message issued by c3p0, a connection pool manager of Hibernate, can sometimes be misleading. Most of the times, it is caused by connection errors. So, check your firewall, and, for Postgresql try the following command from the command line
1 |
psql -h host -U user db |
If this works, you should have no problem connecting to Postgresql. The … Continue reading “Hibernate/c3p0: apparent deadlock”