javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

关于javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure错误解决方法:
https://blogs.oracle.com/java-platform-group/entry/diagnosing_tls_ssl_and_https

通过增加VM参数:-Djavax.net.debug=all
你将可以看到证书打印日志,其中有一段错误信息SSLv2 :

http-8280-1, WRITE: SSLv2 client hello message, length = 110
[Raw write]: length = 112
0000: 80 6E 01 03 01 00 45 00   00 00 20 00 00 04 01 00  .n....E... .....
0010: 80 00 00 05 00 00 2F 00   00 35 00 00 33 00 00 39  ....../..5..3..9
0020: 00 00 32 00 00 38 00 00   0A 07 00 C0 00 00 16 00  ..2..8..........
0030: 00 13 00 00 09 06 00 40   00 00 15 00 00 12 00 00  .......@........
0040: 03 02 00 80 00 00 08 00   00 14 00 00 11 00 00 FF  ................
0050: 57 DF 9A C3 76 1B 34 71   96 A9 04 83 F8 2C 4F 8E  W...v.4q.....,O.
0060: 3B 49 02 9C 7E 2C 1D 93   D3 35 56 C2 16 1F 8B 1B  ;I...,...5V.....
[Raw read]: length = 5
0000: 15 03 01 00 02                                     .....
[Raw read]: length = 2
0000: 02 28                                              .(
http-8280-1, READ: TLSv1 Alert, length = 2
http-8280-1, RECV TLSv1 ALERT:  fatal, handshake_failure
http-8280-1, called closeSocket()

通过设置VM参数:-Dhttps.protocols=SSLv3,TLSv1 解决

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容