SSL致命错误 - 握手失败(40)

时间:2015-08-12 16:03:37

标签: java firefox ssl

我正在尝试访问我们的radius服务器中托管的Web应用程序,Firefox浏览器会抛出此错误代码ssl_error_no_cypher_overlap。以下是浏览器中显示的消息。

  

连接到X.X.X.X时发生错误。无法沟通   安全地与对等方:没有通用的加密算法。 (错误代码:   ssl_error_no_cypher_overlap)

浏览互联网后,我认为在客户端和服务器之间交换的密码套件引起了问题并尝试捕获数据包。令人惊讶的是,客户端和服务器之间存在一个共同的密码,并且服务器Hello也是从服务器发送的。

  

客户端Hello数据包:

enter image description here

  

服务器Hello数据包:

enter image description here

在几秒钟内,服务器发送致命错误,表示握手失败(40)。

enter image description here

之前是否有人遇到过这个问题,并且知道会导致问题的原因是什么?

我的服务器基于Java 6,它使用加密算法DSA和SHA1,我使用的是最新的Firefox 40.0。

2 个答案:

答案 0 :(得分:2)

在浏览互联网很长一段时间后,我发现最新的浏览器会永久禁用对DSA加密的支持,导致握手失败(40)。

最近几天,Firefox中有几项安全增强功能。阅读更多:

  

https://hacks.mozilla.org/2015/04/trainspotting-firefox-37-developer-edition-and-more/

我想知道的有趣的是,密码套件在客户端和服务器之间成功交换,几秒钟后,服务器发送握手失败,但没有从客户端交换数据包。

无论如何,通过RSA加密正确地进行握手,我会将答案标记为正确,直到我得到某人的最佳答案。

答案 1 :(得分:0)

我遇到了同样的问题,请描述以下情况:

SSL client only support TLSv1.0 with MD5/base SHA, while SSL server support TLSv1-TLSv1.2,

看起来不错,问题是服务器仅选择支持SHA256ANDHIGHER,而客户端不支持SHA256ANDHIGHER 哪个日志打印

ACE_SSL (4694|4055886656) error code: 336151568 - error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

在从客户端进行tcpdump之后,警报21和握手失败(40)都将所有内容都弄清楚了,这让我很困惑,这很清楚:

enter image description here

然后我将服务器更改为支持SHA和MD5(较低版本),成功了!

仅供参考

谢谢, 查理