java - SSL fatal error - 握手失败 (40)

标签 java firefox ssl

我正在尝试访问我们的 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:

enter image description here

Server Hello Packet:

enter image description here

几秒钟后,服务器发送一个 fatal error ,提示握手失败 (40)。

enter image description here

有没有人以前遇到过这个问题,知道是什么导致了这个问题吗?

我的服务器基于 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/

相关文章:

google-app-engine - Google App Engine + Google Apps + 自定义域 + SSL/SNI

java - 创建名称为 'controllerx' : 的 bean 时出错

javascript - 网络推送通知到期

javascript - 将小书签变成 Firefox 扩展?

firefox - 对于 JNLP,我如何再次从此发布者对话框中看到 "Do you want to run this application"

node.js - 在 expressjs PEM 例程 :PEM_read_bio:no start line 上设置 https

docker - minikube - x509 : certificate signed by unknown authority

java - 无法打开可执行 jar 文件

java - Spring Data Rest中参数有 'projections'吗?

java - 如何在 Spring 的过滤器中排除特定 URL?