收到 SSLHandshakeException:收到致命警报:尝试连接第三方 URL 时来自 Payara 服务器的 handshake_failure
Posted
技术标签:
【中文标题】收到 SSLHandshakeException:收到致命警报:尝试连接第三方 URL 时来自 Payara 服务器的 handshake_failure【英文标题】:Recived SSLHandshakeException: Received fatal alert: handshake_failure from Payara server while trying to connect Third party URLs 【发布时间】:2021-10-11 02:03:32 【问题描述】:服务器:Payara 5.192 JDK:8 更新 121
您好,我正在尝试从我的 Web 应用程序连接第三方 URL 并获得 SSL 异常。
根据几个论坛,我尝试在服务器上应用通配符证书,但问题仍然存在。
我还检查了 ssl 日志并观察到两个第三方 URL 在 tls1.2 hello 上发起通信。你能建议我还能检查什么吗?此外,如果有任何方法我可以停止 payara 的“hostnameVerification”,直到这个问题得到解决。
在下面添加服务器日志和异常堆栈。
%% Resuming [Session-9, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
*** ServerHello, TLSv1.2
RandomCookie:
GMT: 1628019948
bytes =
146
,
79
,
72
,
18
,
248
,
233
,
164
,
27
,
130
,
143
,
184
,
162
,
63
,
152
,
73
,
109
,
178
,
84
,
175
,
6
,
68
,
141
,
215
,
48
,
206
,
188
,
54
,
217
Session ID:
97, 10, 157, 83, 170, 216, 184, 234, 127, 114, 248, 61, 170, 18, 3, 102, 231, 51, 109, 103, 19, 75, 95, 99, 208, 97, 32, 108, 147, 161, 129, 12
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
Compression Method: 0
Extension renegotiation_info, renegotiated_connection: <empty>
***
Cipher suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
CONNECTION KEYGEN:
Client Nonce:
0000:
61
0A
9D
EC
D7
05
0A
5C
E4
B7
80
8F
02
3F
89
55
a.
.
.
.
.
.
\.
.
.
.
.
?.
U
0010:
C4
95
6E
8E
DF
73
42
6E
E1
72
07
28
DE
F9
56
C9
.
.
n.
.
sBn.
r.
(.
.
V.
Server Nonce:
0000:
61
0A
9D
EC
92
4F
48
12
F8
E9
A4
1B
82
8F
B8
A2
a.
.
.
.
OH.
.
.
.
.
.
.
.
.
0010:
3F
98
49
6D
B2
54
AF
06
44
8D
D7
30
CE
BC
36
D9
?.
Im.
T.
.
D.
.
0.
.
6.
Master Secret:
0000:
BC
64
7A
76
57
F4
D9
C9
B5
8E
54
01
33
65
55
94
.
dzvW.
.
.
.
.
T.
3eU.
0010:
E9
AE
FF
0B
7E
81
CE
AE
CD
40
2B
51
BE
11
84
57
.
.
.
.
.
.
.
.
.
@+Q.
.
.
W
0020:
A6
0B
6D
96
FD
F8
91
A4
55
2E
23
34
42
10
7A
74
.
.
m.
.
.
.
.
U.#4B.
zt
Client MAC write Secret:
Ty.
Mm.
.
.
.
F.
0020:
1D
3F
BA
ED
94
C7
AC
38
ED
20
E1
DD
14
8D
C9
F4
.
?.
.
.
.
.
8.
.
.
.
.
.
.
Server MAC write Secret:]]
Cipher Suites: [TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384, TLS_DHE_RSA_WITH_AES_256_CBC_SHA256, TLS_DHE_DSS_WITH_AES_256_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDH_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_RSA_WITH_AES_256_GCM_SHA384, TLS_DHE_DSS_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_DSS_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV
Extension signature_algorithms, signature_algorithms: SHA512withECDSA, SHA512withRSA, SHA384withECDSA, SHA384withRSA, SHA256withECDSA, SHA256withRSA, SHA256withDSA, SHA224withECDSA, SHA224withRSA, SHA224withDSA, SHA1withECDSA, SHA1withRSA, SHA1withDSA
, RECV TLSv1.2 ALERT:
fatal,
handshake_failure
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:201)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:163)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2023)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1125)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153)
at project.path.validateInstanceUrl(InstanceMasterBean.java:359)
【问题讨论】:
握手 SSL 似乎已关闭,因为您的 JDK 1.8 版本和 SSL 服务器之间缺少公共密码。尝试升级您的 JDK 1.8 版本并再次检查(如果您没有 Oracle 许可证,请尝试打开 OpenJDK 8)。 您好@jcamsler,感谢您的评论,我会将JDK 8 更新到最新更新并通知您。看来这是我现在唯一的选择了。 你好,我可以用 jdk8u251 解决这个问题,更新到这个版本后,我遇到了启动 payara 的问题,在这个链接上找到了解决方案 github.com/eclipse-ee4j/glassfish/issues/… 更改灰熊文件解决了这个问题。谢谢! 【参考方案1】:我找到了上述问题的解决方案。在这里发布,以便任何有类似问题的人也可以找到它以供参考。
根据@jcamsler 的评论,我将 JDK8 更新为 301,但 Payara 服务器未启动并出现以下错误。
Error Logs after JDK8update301 applied
因此,尝试申请Glassfish error,但没有成功。
然后我将 JDK 降级到 JDK8u261 并再次使用 [Glassfish error]grizzly 文件,其中没有 sun 文件夹。这解决了我的问题。
【讨论】:
以上是关于收到 SSLHandshakeException:收到致命警报:尝试连接第三方 URL 时来自 Payara 服务器的 handshake_failure的主要内容,如果未能解决你的问题,请参考以下文章
当程序在 IntelliJ 中运行时,为啥我会收到 SSLHandshakeException 作为 JAR?
Apple Pay 证书更新 | SSLHandshakeException:收到致命警报:handshake_failure
ChangeCipherSpec - javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure
无法下载站点地图:SSLHandshakeException:收到致命警报:handshake_failure
javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure
获取 javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure 错误