java – SSLHandshakeException:握手期间远程主机关闭连接
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – SSLHandshakeException:握手期间远程主机关闭连接,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3125字,纯文字阅读大概需要5分钟。
内容图文
![java – SSLHandshakeException:握手期间远程主机关闭连接](/upload/InfoBanner/zyjiaocheng/789/2d6689472ed142d58d7b275b04ee9960.jpg)
论坛充满了这个问题,但我找不到解决方案.
我尝试连接WS但没有任何成功.
我试图更新cacerts文件没有任何效果.
日志是:
Allow unsafe renegotiation: false
Allow legacy hello messages: true
Is initial handshake: true
Is secure renegotiation: false
%% No cached client session
*** ClientHello, TLSv1
RandomCookie: GMT: 1507108654 bytes = { 133, 135, 81, 148, 186, 186, 146, 23, 28, 240, 158, 152, 139, 167, 209, 225, 54, 253, 112, 118, 61, 112, 140, 214, 149, 198, 197, 219 }
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, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
Compression Methods: { 0 }
***
[write] MD5 and SHA1 hashes: len = 75
0000: 01 00 00 47 03 01 5A D5 A7 2E 85 87 51 94 BA BA ...G..Z.....Q...
0010: 92 17 1C F0 9E 98 8B A7 D1 E1 36 FD 70 76 3D 70 ..........6.pv=p
0020: 8C D6 95 C6 C5 DB 00 00 20 00 04 00 05 00 2F 00 ........ ...../.
0030: 33 00 32 00 0A 00 16 00 13 00 09 00 15 00 12 00 3.2.............
0040: 03 00 08 00 14 00 11 00 FF 01 00 ...........
http-8080-1, WRITE: TLSv1 Handshake, length = 75
[Raw write]: length = 80
0000: 16 03 01 00 4B 01 00 00 47 03 01 5A D5 A7 2E 85 ....K...G..Z....
0010: 87 51 94 BA BA 92 17 1C F0 9E 98 8B A7 D1 E1 36 .Q.............6
0020: FD 70 76 3D 70 8C D6 95 C6 C5 DB 00 00 20 00 04 .pv=p........ ..
0030: 00 05 00 2F 00 33 00 32 00 0A 00 16 00 13 00 09 .../.3.2........
0040: 00 15 00 12 00 03 00 08 00 14 00 11 00 FF 01 00 ................
http-8080-1, received EOFException: error
http-8080-1, handling exception: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
http-8080-1, SEND TLSv1 ALERT: fatal, description = handshake_failure
http-8080-1, WRITE: TLSv1 Alert, length = 2
[Raw write]: length = 7
0000: 15 03 01 00 02 02 28 ......(
http-8080-1, called closeSocket()
http-8080-1, called close()
http-8080-1, called closeInternal(true)
谢谢你的帮助
解决方法:
很可能服务器已经禁用了TLS 1.0(你正在谈论TLS 1.0,如序列字节47 03 01 5A所示),或者它正在等待不存在的SNI扩展.
关于Java 6,只有6u111允许比TLS 1.0更好(TLS 1.1),6u121将允许TLS 1.2.看看Reference.由于TLS版本不容忍问题,它仍然是低效的,只有系统属性才能实现它,如Release Notes所述:
TLS v1.2 is now a TLS protocol option with this release. By default,
TLSv1.0 will remain the default enabled protocol on client sockets.
出于这个原因,需要尝试几个系统属性:
> -Djdk.tls.client.protocols =“TLSv1.2”(先决条件:6u121 / 7u95)
> -Dhttps.protocols =“TLSv1.2”如果您的代码使用HttpsURLConnection
您的ClientHello格式正确,但不包含任何扩展名(特别是SNI).这就是为什么它看起来很短(字节= 80).默认情况下,SNI启用,从6u121开始(如果我是对的).我看到的两个原因都应该用适当的Java版本来解决.
内容总结
以上是互联网集市为您收集整理的java – SSLHandshakeException:握手期间远程主机关闭连接全部内容,希望文章能够帮你解决java – SSLHandshakeException:握手期间远程主机关闭连接所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。