【问题标题】:Firefox "ssl_error_no_cypher_overlap" error火狐“ssl_error_no_cypher_overlap”错误
【发布时间】:2009-02-13 19:01:15
【问题描述】:

我和我的同事在使用 Firefox 3.0.6 访问我们正在开发的 Java 1.6.0___11 Web 应用程序时遇到问题。会话开始 1-30 分钟后一切正常……但最终,连接失败并出现以下错误:

Secure Connection Failed

An error occurred during a connection to 10.x.x.x.

Cannot communicate securely with peer: no common encryption algorithm(s).

(Error code: ssl_error_no_cypher_overlap)

IE 工作正常。 Firefox 在 Windows 和 Fedora 中都会引发错误,因此问题似乎与操作系统无关。 Java EE 应用程序在 Tomcat 6.0.16 服务器上运行。所有页面都使用 TLS 1.0 通过带有 mod_nss 的 Apache 2.2.8 HTTP 服务器进行加密。

我们的 Apache 服务器配置为拒绝 SSL 3.0 连接。我们的一个假设是 Firefox 可能正在尝试建立 SSL 3.0 连接……但为什么呢?

根据一些谷歌搜索,我们尝试了以下方法,但没有成功:

  • 使用 Firefox 2.x(有些人报告了 2.x 有效但 3.x 无效的情况):

  • 启用 SSL2

  • 禁用 SSL3

  • 禁用 OCSP(工具 > 选项 > 高级 > 加密 > 验证)

  • 确保客户端计算机的防病毒/防火墙没有阻止或扫描端口 443(https 端口)

有什么想法吗?

【问题讨论】:

  • 我使用的是 Debian 7.9 和 Firefox 38.7.1。禁用 OCSP(首选项 > 高级 > 证书 > 验证)对我有用。在访问内部开发的 Java Web 应用程序时,这个问题很常见。似乎没有一种解决方案适用于所有人。

标签: java security apache firefox ssl


【解决方案1】:

我在 www.tpsynergy.com 为我们的服务器更新证书时遇到了同样的问题。导入新的服务器证书并重新启动 tomcat 后,我​​们得到的错误是 ERR_SSL_VERSION_OR_CIPHER_MISMATCH。经过大量研究,我使用此链接https://www.sslshopper.com/certificate-key-matcher.html 来比较 csr(证书签名请求与实际证书)。他们俩都不匹配。所以我创建了一个新的 csr 并获得了一个新的证书并安装了它。它奏效了。

所以这个过程的完整步骤是

  1. 从将安装证书的同一服务器,创建 CSR

keytool -keysize 2048 -genkey -alias tomcat -keyalg RSA -keystore tpsynergy.keystore (根据需要更改域名)

创建时,它会要求输入名字和姓氏。不要提供您的姓名,而是使用域名。例如,我将其命名为 www.tpsynergy.com

2.keytool -certreq -keyalg RSA -alias tomcat -file csr.csr -keystore tpsynergy.keystore

这将在同一文件夹中创建一个 csr.csr 文件。将其内容复制到 godaddy 站点并创建新证书。

  1. 下载的证书 zip 文件将包含三个文件 gd_bundle-g2-g1.crt gdig2.crt youractualcert.crt

  2. 您需要从 godaddy 存储库下载根证书 gdroot-g2.crt。

  3. 将所有这些文件复制到您创建 CSR 文件和密钥库文件所在的同一目录中。

  4. 现在一一运行以下命令将证书导入密钥库

    keytool -import -trustcacerts -alias root -file gd_bundle-g2-g1.crt -keystore tpsynergy.keystore

    keytool -import -trustcacerts -alias root2 -file gdroot-g2.crt -keystore tpsynergy.keystore

    keytool -import -trustcacerts -alias middle -file gdig2.crt -keystore tpsynergy.keystore

    keytool -import -trustcacerts -alias tomcat -file yourdomainfile.crt -keystore tpsynergy.keystore

  5. 确保 conf 文件夹中的 server.xml 文件有这个条目

  6. 重启tomcat

【讨论】:

    【解决方案2】:

    鉴于您的尝试和错误消息,我想说这更多地与使用的确切密码算法有关,而不是与 TLS/SSL 版本有关。您是在使用非 Sun JRE,还是使用不同供应商的安全实施?如果可以,请尝试使用不同的 JRE/OS 来测试您的服务器。如果您无法看到 Wireshark 的情况(过滤器为 'tcp.port == 443'),您可能只能看到发生了什么。

    【讨论】:

    • 我们使用的是 IBM VM,它似乎不包含任何当前的 TLS 实现。切换到 Sun VM 解决了这个问题。 +1
    【解决方案3】:

    如果你在 Wikipedia 上查看 SSL 协商的过程,就会知道一开始 ClientHello 和 ServerHello 消息是在浏览器和服务器之间发送的。

    只有当 ClientHello 中提供的密码在服务器上有重叠项时,ServerHello 消息才会包含双方都支持的密码。否则,由于没有通用密码,因此不会启动 SSL 连接。

    要解决此问题,您需要安装密码(通常在操作系统级别),而不是在浏览器上尝试(通常浏览器依赖于操作系统)。我熟悉Windows和IE,但对Linux和Firefox知之甚少,所以我只能指出问题所在,无法为您提供解决方案。

    【讨论】:

      【解决方案4】:

      在使用 Burp 时,我在浏览安全网站 (https://) 时遇到了类似的问题(或者至少是在搜索 Google 时将您带到此页面的问题):

      • ssl_error_no_cypher_overlap 在 Firefox 中
      • ERR_SSL_VERSION_OR_CIPHER_MISMATCH 在 Chrome 中

      原来是using Java 8 的问题。当我切换到 Java 7 时,问题就停止了。

      【讨论】:

        【解决方案5】:

        在 Firefox 的高级设置下,您应该可以设置加密。默认情况下应检查 SSL3.0 和 TLS1.0,因此如果 Firefox 尝试创建 ssl 3.0 连接,请尝试取消选中 ssl 3.0s 设置。

        如果这不起作用,请尝试在 about:config 页面中搜索“ssl2” 我的 Firefox 的 ssl2 默认设置为 false ...

        【讨论】:

        • 试过禁用 SSL 3.0,没有用。我在 about:config 中的所有 ssl2 设置都设置为 false。我也尝试将这些都设置为 true,但这也无济于事。
        【解决方案6】:

        我要检查的第一件事是 mod_nss 的配置。这是一个奇怪的问题,因为它是你的,世界上没有人喜欢它 :-) 而如果 Firefox 或 mod_nss 本身存在一些巨大的错误,我想你现在已经在你的谷歌任务。您修改配置(例如禁用 SSL3 和其他各种随机调整)的事实也很可疑。

        我会回到一个非常普通的 mod_nss 配置,看看它是否有效。然后系统地更改您当前的配置,直到您可以重现问题。从它的声音来看,错误的来源在 mod_nss 的密码规范配置和相关的协议协商内容中的某个地方。因此,也许您在尝试关闭 SSLv3 时无意中更改了某些内容(顺便说一句,为什么要禁用 SSL3?通常人们会禁用 V2?)。

        要检查的另一件事是您使用的是最新的 mod_nss,这不是一个已知的错误。它设法启动会话然后失败的事实很有趣 - 它表明它可能正在尝试重新协商会话并且当时未能协商密码。所以它可能是对称密码。或者它可能只是你的 mod_nss 版本中的一个实现错误,它以某种方式混淆了协议。

        另一个想法,这是一个疯狂的猜测,是浏览器正在尝试恢复在您禁用它之前与 SSLv3 协商的会话,并且在 V3 关闭时尝试恢复该会话时出现问题,或者可能mod_nss 只是没有正确实现它。

        java/tomcat 的东西看起来像是一条红鲱鱼,除非我误解了你的描述,否则 SSL 握手/协议中不涉及这些。

        【讨论】:

          【解决方案7】:

          我在一个非常旧的本地路由器上遇到了同样的问题,并且由于自签名证书而无法打开它的 WebGUI。解决方案是安装old Firefox Portable version。我测试了以下版本:

          • Firefox 33.1.1(工作)
          • Firefox 45.0.2(工作)
          • Firefox 56.0.2(失败)

          这很奇怪,因为它应该只有a problem since version 59,但只要它有效,我就可以。

          【讨论】:

            【解决方案8】:

            如果您在 firefox 上遇到无密码重叠错误,并且您将其保留为默认设置,那么您正在使用一个非常不安全的站点,试图使用非常弱的“导出级”密码。这些天不鼓励使用这些密码,我个人会停止使用试图使用如此弱密码的网站。

            【讨论】:

              【解决方案9】:

              我也遇到过同样的问题;解决足以启用“about:config”中的所有 SSL 模式。我是通过使用 ssl 过滤来找到它们的。首先,我启用了所有选项以禁用不必要的选项。

              【讨论】:

                【解决方案10】:

                登录后出现“错误代码:ssl_error_no_cypher_overlap”错误消息,当出现欢迎屏幕时——使用 Firefox 浏览器

                解决方案

                在 Firefox 浏览器中启用对 40 位 RSA 加密的支持: 1:在浏览器地址栏中输入'about:config' 2:查找/选择“security.ssl3.rsa_rc4_40_md5” 3:将布尔值设置为 TRUE

                【讨论】:

                  【解决方案11】:

                  对我有用的是我:

                  1. 转到 about:config。
                  2. 在搜索框中输入“安全”。
                  3. 将所有返回的条目设置为其默认值。
                  4. 在搜索框中输入“ssl”。
                  5. 将所有返回的结果设置为默认值。
                  6. 已启用 ssl2。
                  7. 已禁用 ssl3。
                  8. 重新启动 Firefox。

                  关于重新启动 Firefox 的注意事项:当我在关闭它后很快启动它时, 它经常有文件访问问题,需要我删除 places.sqliteplaces.sqlite-journalC:\WINDOWS\Application Data\Mozilla\Firefox\Profiles\n18091xv.default 中。这导致我失去了我的历史,加上书签必须是 每次发生这种情况时从备份中恢复。我等了五到十分钟,或者 更多以避免这种麻烦。

                  在 WinMe 上运行 Firefox v3.5.1

                  【讨论】:

                    【解决方案12】:

                    “错误代码:ssl_error_no_cypher_overlap”登录后出现错误消息,当出现欢迎屏幕时 - 使用 Firefox 浏览器 解决方案 1:在浏览器地址栏中输入'about:config' 2:查找/选择“security.ssl3.rsa_rc4_40_md5” 3:将布尔值设置为 TRUE

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2011-10-07
                      • 1970-01-01
                      • 2011-01-04
                      • 2011-08-02
                      • 2013-10-30
                      • 2011-08-04
                      • 1970-01-01
                      • 1970-01-01
                      相关资源
                      最近更新 更多