“远程地址的handshake_failure”Java netty错误背后的原因是什么?

时间:2018-04-26 22:01:20

标签: ssl netty java-7 tls1.2 sslhandshakeexception

我主要创建此页面来解决此问题,但也因为Google在标题中返回0引用此错误的结果。

我的传统 Tomcat7 webapp的后端客户端最近将其SSL证书更新为TLS1.2,现在我的生产系统无法连接。此代码库是5年和MASSIVE。如果没有大手术,我不能简单地升级到JDK 1.8。

在我的Mac OSX Intellij IDE中,我使用1.7.0_u141 并且工作正常,它可以连接到客户端并返回数据!但是在我的IDE中使用1.7.0_79,我能够重现错误并对尝试执行SSL握手的java代码进行调试。

我曾尝试更新CentOS 6.6服务器以使用1.7.0_131(同样的错误),我在“互联网”上找到1.7.0_151b32(即不是来自oracle但看起来合法)并在非产品服务器上尝试过对于这个问题,我仍然得到SSLHandshakeException :(数据被屏蔽和更改,因此安全性不会对我大喊)

com.twitter.finagle.SslHandshakeException: Received fatal alert: handshake_failure at remote address: client.example.com/##.##.##.##:443,DefaultHttpRequest(chunked: false)
GET /BClass/LocationStatusLookup?id=################### HTTP/1.1
Host: client.example.com
Accept-Encoding: gzip, deflate
,Some(com.twitter.finagle.ChannelWriteException: com.twitter.finagle.SslHandshakeException: Received fatal alert: handshake_failure at remote address: client.example.com/##.##.##.##:443))

我尝试将这些参数传递给tomcat7 setenv.sh:

-Dhttps.protocols="TLSv1,TLSv1.1,TLSv1.2" 
-Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2"

没有区别。

我还尝试在浏览器中下载cert,使用openssl将其转换为x509并将其导入我的jks(java密钥库)。

我还能做什么?

0 个答案:

没有答案