我正在尝试访问我们的 radius 服务器中托管的 Web 应用程序,Firefox 浏览器抛出此错误代码 ssl_error_no_cypher_overlap
。以下是浏览器中显示的消息。
An error occurred during a connection to X.X.X.X. Cannot communicate securely with peer: no common encryption algorithm(s). (Error code: ssl_error_no_cypher_overlap)
网上冲浪后,我认为是客户端和服务器之间交换的密码套件导致了问题,并尝试抓包。令人惊讶的是,客户端和服务器之间有一个共同的密码,并且服务器 Hello 也是从服务器发送的。
Client Hello Packet:
Server Hello Packet:
几秒钟后,服务器发送一个 fatal error ,提示握手失败 (40)。
有没有人以前遇到过这个问题,知道是什么导致了这个问题吗?
我的服务器基于 Java 6,它使用带 SHA1 的加密算法 DSA,我使用的是最新的 Firefox 40.0。
最佳答案
上网查了半天,发现最新的浏览器都永久禁用了DSA加密支持,导致握手失败(40)。
最近几天,Firefox 进行了几项安全增强。阅读更多:
https://hacks.mozilla.org/2015/04/trainspotting-firefox-37-developer-edition-and-more/
我在这里想知道的有趣的事情是,密码套件在客户端和服务器之间成功交换,几秒钟后从服务器发送握手失败,尽管没有从客户端交换数据包。
无论如何,握手是通过 RSA 加密正确进行的,在我从某人那里得到最佳答案之前,我会将我的答案标记为正确。
关于java - SSL fatal error - 握手失败 (40),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31970283/