Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Remote host closed connection during handshake / 6 сообщений из 6, страница 1 из 1
01.10.2007, 22:40:39
    #34839567
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remote host closed connection during handshake
Привет всем.
Нужно забрать некоторые данные с web-сервера по https.
Сертификат сервера действителен и подписан VeriSign.
Через броузер всё открывается замечательно.
Код:
Код: plaintext
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.
SocketFactory factory = SSLSocketFactory.getDefault(); 
 
      // Get Socket from factory 
      Socket socket = factory.createSocket(HOST_NAME,  443 );
       
      BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
      
      BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
      
      out.write("GET / HTTP/1.0\n\n");
      
      out.flush();
 
      String line;
      
      StringBuffer sb = new StringBuffer();
      
      while((line = in.readLine()) != null) {
      
          sb.append(line);
          
      }
      
      out.close();
      
      in.close();
      
      System.out.println(sb.toString());        

Вывод, включая отладку SSL

Код: plaintext
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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
keyStore is : 
keyStore type is : jks
keyStore provider is : 
init keystore
init keymanager of type SunX509
trustStore is: E:\Program Files\Java\jdk\jre\lib\security\cacerts
trustStore type is : jks
trustStore provider is : 
init truststore
 
// Много доверренных сертификатов
// adding as trusted cert:
// тра-ля-ля
// пропущено
 
trigger seeding of SecureRandom
done seeding SecureRandom
%% No cached client session
*** ClientHello, TLSv1
RandomCookie:  GMT:  1191149504  bytes = {  125 ,  192 ,  105 ,  92 ,  59 ,  79 ,  12 ,  147 ,  85 ,  88 ,  197 ,  17 ,  7 ,  192 ,  165 ,  60 ,  32 ,  121 ,  50 ,  232 ,  253 ,  161 ,  183 ,  24 ,  98 ,  54 ,  98 ,  196  }
Session ID:  {}
Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA]
Compression Methods:  {  0  }
***
main, WRITE: TLSv1 Handshake, length =  73 
main, WRITE: SSLv2 client hello message, length =  98 
main, received EOFException: error
main, handling exception: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
main, SEND TLSv1 ALERT:  fatal, description = handshake_failure
main, WRITE: TLSv1 Alert, length =  2 
main, called closeSocket()
Exception in thread "main" javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java: 808 )
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java: 1096 )
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java: 623 )
        at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java: 59 )
        at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java: 202 )
        at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java: 272 )
        at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java: 276 )
        at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java: 122 )
        at java.io.OutputStreamWriter.flush(OutputStreamWriter.java: 212 )
        at java.io.BufferedWriter.flush(BufferedWriter.java: 236 )
        at ssltest.Main.main(Main.java: 32 )
Caused by: java.io.EOFException: SSL peer shut down incorrectly
        at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java: 333 )
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java: 789 )
        ...  10  more
Java Result:  1 

Jakarta HttpClient валится с той же ошибкой.

JDK 1.6.0_02 Windows XP Pro

Куда бы копнуть?
...
Рейтинг: 0 / 0
02.10.2007, 19:01:47
    #34842064
Java Programmer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remote host closed connection during handshake
mozheyko_dПривет всем.
Нужно забрать некоторые данные с web-сервера по https.
Сертификат сервера действителен и подписан VeriSign.
Через броузер всё открывается замечательно.
Код:
Код: plaintext
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.
SocketFactory factory = SSLSocketFactory.getDefault(); 
 
      // Get Socket from factory 
      Socket socket = factory.createSocket(HOST_NAME,  443 );
       
      BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
      
      BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
      
      out.write("GET / HTTP/1.0\n\n");
      
      out.flush();
 
      String line;
      
      StringBuffer sb = new StringBuffer();
      
      while((line = in.readLine()) != null) {
      
          sb.append(line);
          
      }
      
      out.close();
      
      in.close();
      
      System.out.println(sb.toString());        

Вывод, включая отладку SSL

Код: plaintext
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.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
keyStore is : 
keyStore type is : jks
keyStore provider is : 
init keystore
init keymanager of type SunX509
trustStore is: E:\Program Files\Java\jdk\jre\lib\security\cacerts
trustStore type is : jks
trustStore provider is : 
init truststore
 
// Много доверренных сертификатов
// adding as trusted cert:
// тра-ля-ля
// пропущено
 
trigger seeding of SecureRandom
done seeding SecureRandom
%% No cached client session
*** ClientHello, TLSv1
RandomCookie:  GMT:  1191149504  bytes = {  125 ,  192 ,  105 ,  92 ,  59 ,  79 ,  12 ,  147 ,  85 ,  88 ,  197 ,  17 ,  7 ,  192 ,  165 ,  60 ,  32 ,  121 ,  50 ,  232 ,  253 ,  161 ,  183 ,  24 ,  98 ,  54 ,  98 ,  196  }
Session ID:  {}
Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA]
Compression Methods:  {  0  }
***
main, WRITE: TLSv1 Handshake, length =  73 
main, WRITE: SSLv2 client hello message, length =  98 
main, received EOFException: error
main, handling exception: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
main, SEND TLSv1 ALERT:  fatal, description = handshake_failure
main, WRITE: TLSv1 Alert, length =  2 
main, called closeSocket()
Exception in thread "main" javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java: 808 )
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java: 1096 )
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java: 623 )
        at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java: 59 )
        at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java: 202 )
        at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java: 272 )
        at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java: 276 )
        at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java: 122 )
        at java.io.OutputStreamWriter.flush(OutputStreamWriter.java: 212 )
        at java.io.BufferedWriter.flush(BufferedWriter.java: 236 )
        at ssltest.Main.main(Main.java: 32 )
Caused by: java.io.EOFException: SSL peer shut down incorrectly
        at com.sun.net.ssl.internal.ssl.InputRecord.read(InputRecord.java: 333 )
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java: 789 )
        ...  10  more
Java Result:  1 

Jakarta HttpClient валится с той же ошибкой.

JDK 1.6.0_02 Windows XP Pro

Куда бы копнуть?

http://jakarta.apache.org/httpcomponents/httpclient-3.x/sslguide.html

А в HttpClient регистрировали протокол?
...
Рейтинг: 0 / 0
02.10.2007, 20:24:47
    #34842182
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remote host closed connection during handshake
Java Programmer
...

http://jakarta.apache.org/httpcomponents/httpclient-3.x/sslguide.html

А в HttpClient регистрировали протокол?

Да, конечно, и ссылку эту прочитал первым делом. Другие сайты, даже с самоподписанными сертификатами работают.
...
Рейтинг: 0 / 0
06.10.2007, 22:33:17
    #34852039
Java Programmer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remote host closed connection during handshake
mozheyko_d Java Programmer
...

http://jakarta.apache.org/httpcomponents/httpclient-3.x/sslguide.html

А в HttpClient регистрировали протокол?

Да, конечно, и ссылку эту прочитал первым делом. Другие сайты, даже с самоподписанными сертификатами работают.

Хм интересно а может вы просто секурити провайдера какого не подгрузили??
...
Рейтинг: 0 / 0
06.10.2007, 22:43:33
    #34852046
Java Programmer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remote host closed connection during handshake
Java Programmer mozheyko_d Java Programmer
...

http://jakarta.apache.org/httpcomponents/httpclient-3.x/sslguide.html

А в HttpClient регистрировали протокол?

Да, конечно, и ссылку эту прочитал первым делом. Другие сайты, даже с самоподписанными сертификатами работают.

Хм интересно а может вы просто секурити провайдера какого не подгрузили??


А еще было бы не дурно посмотреть, что там сервер говорит по этому поводу )
...
Рейтинг: 0 / 0
07.10.2007, 13:52:58
    #34852427
mozheyko_d
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Remote host closed connection during handshake
Java Programmer

Хм интересно а может вы просто секурити провайдера какого не подгрузили??



Приведённый код открывает сайты с доверенными сертификатами.

Если его слегка модифицировать, как пишут вот тут , то начинает открывать и сайты с самоподписанными сертификатами.

А что ещё можно подгружать?
Тыкните тынцом?

Java Programmer
А еще было бы не дурно посмотреть, что там сервер говорит по этому поводу )


Если бы это был мой сервер, то конечно.
А так есть только информация, что на той стороне IBM Lotus Notes.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Remote host closed connection during handshake / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]