当前位置: 首页 > 知识库问答 >
问题:

javax。网ssl。SSLException:收到致命警报:协议\u版本

郁和通
2023-03-14

以前有人遇到过这个错误吗?我是新来的SSL,我的客户有什么明显的问题吗?你好,我错过了吗?在没有ServerHello响应的情况下引发该异常。任何建议都很感激。

*** ClientHello, TLSv1
RandomCookie:  GMT: 1351745496 bytes = { 154, 151, 225, 128, 127, 137, 198, 245, 160, 35, 124, 13, 135, 120, 33, 240, 82, 223, 56, 25, 207, 231, 231, 124, 103, 205, 66, 218 }
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 51 92   00 D8 9A 97 E1 80 7F 89  ...G..Q.........
0010: C6 F5 A0 23 7C 0D 87 78   21 F0 52 DF 38 19 CF E7  ...#...x!.R.8...
0020: E7 7C 67 CD 42 DA 00 00   20 00 04 00 05 00 2F 00  ..g.B... ...../.
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                 ...........
xxx, WRITE: TLSv1 Handshake, length = 75
[write] MD5 and SHA1 hashes:  len = 101
0000: 01 03 01 00 3C 00 00 00   20 00 00 04 01 00 80 00  ....<... .......
0010: 00 05 00 00 2F 00 00 33   00 00 32 00 00 0A 07 00  ..../..3..2.....
0020: C0 00 00 16 00 00 13 00   00 09 06 00 40 00 00 15  ............@...
0030: 00 00 12 00 00 03 02 00   80 00 00 08 00 00 14 00  ................
0040: 00 11 00 00 FF 51 92 00   D8 9A 97 E1 80 7F 89 C6  .....Q..........
0050: F5 A0 23 7C 0D 87 78 21   F0 52 DF 38 19 CF E7 E7  ..#...x!.R.8....
0060: 7C 67 CD 42 DA                                     .g.B.
xxx, WRITE: SSLv2 client hello message, length = 101
[Raw write]: length = 103
0000: 80 65 01 03 01 00 3C 00   00 00 20 00 00 04 01 00  .e....<... .....
0010: 80 00 00 05 00 00 2F 00   00 33 00 00 32 00 00 0A  ....../..3..2...
0020: 07 00 C0 00 00 16 00 00   13 00 00 09 06 00 40 00  ..............@.
0030: 00 15 00 00 12 00 00 03   02 00 80 00 00 08 00 00  ................
0040: 14 00 00 11 00 00 FF 51   92 00 D8 9A 97 E1 80 7F  .......Q........
0050: 89 C6 F5 A0 23 7C 0D 87   78 21 F0 52 DF 38 19 CF  ....#...x!.R.8..
0060: E7 E7 7C 67 CD 42 DA                               ...g.B.
[Raw read]: length = 5
0000: 15 03 01 00 02                                     .....
[Raw read]: length = 2
0000: 02 46                                              .F

{http://xml.apache.org/axis/}stackTrace:

javax.net.ssl.SSLException: Received fatal alert: protocol_version
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:190)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1806)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:986)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1170)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1197)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1181)
at org.apache.axis.components.net.JSSESocketFactory.create(JSSESocketFactory.java:186)
at 

...

共有3个答案

韩禄
2023-03-14

我在尝试安装PySpark软件包时遇到了这个问题。我通过使用一个环境变量更改TLS版本来解决这个问题:

echo 'export JAVA_TOOL_OPTIONS="-Dhttps.protocols=TLSv1.2"' >> ~/.bashrc
source ~/.bashrc
宰宣
2023-03-14

马里奥的答案似乎是正确的。这对我不起作用。所以我发现:

通过自己的Java客户端通过HTTPS/SSL连接时出现问题

它使用:

java.lang.System.setProperty("https.protocols", "TLSv1,TLSv1.1,TLSv1.2");

这似乎是Java7和TLSv1.2站点所必需的。

我查看了以下网站:

openssl s_client -connect www.st.nmfs.noaa.gov:443

使用

openssl version
OpenSSL 1.0.2l  25 May 2017

得到了结果:

...
SSL-Session:
   Protocol  : TLSv1.2
   Cipher    : ECDHE-RSA-AES256-GCM-SHA384
...

请注意,我的mac上的旧openssl版本不起作用,我不得不使用macport一个。

时修贤
2023-03-14

在Java1.8上,默认的TLS协议是v1。2.在Java 1.6和1.7上,默认设置是TLS1。0.我在Java1.8上遇到这个错误,因为url使用旧的TLS1。0(就像您的-You seeClientHello,TLSv1)。要解决此错误,需要使用Java1.8的覆盖默认值。

System.setProperty("https.protocols", "TLSv1");

Oracle博客上的更多信息:诊断TLS、SSL和HTTPS。

 类似资料:
  • 我正在尝试使用Spring RestTemplate调用POST Rest调用: 这个https://server.com有证书:webapi。tartu-x86。p12我将证书导入C:\Java_8\jre\lib\security\cacerts usinf keytool 运行代码后,我出现以下错误: 我使用的是Java1.8.091 有人能帮忙吗?

  • 我的java应用程序是由JBoss AS 5运行的。我试图通过URL连接下载图像,但收到下一个异常:javax.net.ssl.sslHandShakeException:Received致命警报:handshake_failure 我已将trust-managet配置为“全信任信任管理器”: null

  • 以下是完整的StackTrace: [8/21/15 16:33:08:997 EDT]00000093 HttpMethodDir I org.apache.commons.httpclient.httpmethodDirector执行retry I/O异常(javax.net.ssl.sslException)处理请求时捕获:收到致命警报:decode_error[8/21/15 16:33:

  • 我正在为Cisco CMX设备使用REST API,并试图编写Python代码,该代码向API发出获取信息的GET请求。代码如下,与文件中的代码相同,只是更改了必要的信息。 然而,我不断得到以下错误: 我还尝试更新OpenSSL,但没有效果。

  • 我正在尝试执行对网站的get调用https://www.facebookbrand.com/在这样做的过程中,我收到了错误(SSLException)接收到致命警报:protocol\u version。该网站正在使用TLSv1。2如果我将ConnectionFactory设置为专门支持此协议,那么它可以正常工作,但我需要它适用于每个网站,并且从我的理解来看,它需要硬编码到TLSv1。2将使其不适

  • 我试图使用Java-pns向iPhone发送消息推送,但我收到以下错误... 这是我的密码。。。 对于<代码>通知测试。verifyKeystore我得到的是有效的is和。 我不明白为什么我会得到这个错误。 这是我的错误日志。。。 我不明白为什么证书颁发机构是空的?