2015-12-12 3 views
1

Спасибо за ваше время, чтобы прочитать мой вопрос - я использую Eclipse IDE. Я хочу Jsoup для подключения по протоколу HTTPS URL - https://www.icegate.gov.in/ с помощью Document doc = Jsoup.connect("https://www.icegate.gov.in/").get();Ошибка Jsoup Удаленное подключение к удаленному хосту во время рукопожатия

но дает ошибку Exception in thread "main" javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake в то время, когда я использую этот код для другого HTTPS, как то к LinkedIn работает ... Я не знаю, как решить эту проблему.

У меня есть сертификат этого веб-сайта и установлен в моей папке jre/lib/security, но это также не помогло мне.

Как добавить эти сертификаты & jks in eclipse.

Вот мой код:

public static void main(String[] args) throws IOException { 

    Document doc = Jsoup.connect("https://www.linkedin.com/in/xxxxxx").get(); 

    Element summaryDetails = doc.getElementById("profile"); 


    System.out.println("Summary Details is - "+ summaryDetails.text()); 

    Document doc2 = Jsoup.connect("https://www.icegate.gov.in/").get(); 
} 

И ошибка я получаю:

Exception in thread "main" javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake 
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:946) 
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339) 
    at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1323) 
    at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:563) 
    at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) 
    at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153) 
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:512) 
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:493) 
    at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:205) 
    at org.jsoup.helper.HttpConnection.get(HttpConnection.java:194) 
    at com.deepak.TestLinkedIn.main(TestLinkedIn.java:39) 
Caused by: java.io.EOFException: SSL peer shut down incorrectly 
    at sun.security.ssl.InputRecord.read(InputRecord.java:482) 
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927) 

ответ

1

Просто запустите Java с этими аргументами VM:

-Dhttps.protocols=TLSv1.2 -Djsse.enableSNIExtension=false 

подробнее в этих других вопросы:

SSL handshake alert: unrecognized_name error since upgrade to Java 1.7.0

How to make Java 6, which fails SSL connection with "SSL peer shut down incorrectly", succeed like Java 7?

Bytheway, мне не нужно, чтобы добавить какой-либо сертификат на мое доверенное хранилище, потому что CA сертификат сайта был уже доверяли.

+0

да это работает ... спасибо fonkap :) –

+0

Мое консольное приложение работало monthes, но сегодня я получаю такую ​​же ошибку. Не знаю почему, но на удивление это работает – Dimmduh