Firefox“ssl_error_no_cypher_overlap”错误

时间:2009-02-13 19:01:15

标签: java security apache firefox ssl

我的同事和我在使用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端口)

有什么想法吗?

12 个答案:

答案 0 :(得分:7)

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

因此,该过程的完整步骤是

  1. 从将安装证书的同一服务器上创建CSR
  2. 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存储库下载root cert 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 intermediate -file gdig2.crt -keystore tpsynergy.keystore

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

    5. 确保conf文件夹中的server.xml文件具有此条目

       

    6. 重启tomcat

答案 1 :(得分:5)

鉴于您尝试过的内容和错误消息,我会说这更多地与使用的确切密码算法而不是TLS / SSL版本有关。您是否通过任何机会使用非Sun JRE,或者使用其他供应商的安全实施?如果可以,尝试使用其他JRE / OS来测试服务器。如果失败,你可能只能看到Wireshark发生的事情(过滤器'tcp.port == 443')。

答案 2 :(得分:3)

如果您查看维基百科上的SSL协商过程,您将会知道在开始时,会在浏览器和服务器之间发送ClientHello和ServerHello消息。

仅当ClientHello中提供的密码在服务器上有重叠项时,ServerHello消息才会包含双方都支持的密码。否则,将不会启动SSL连接,因为没有共同的密码。

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

答案 3 :(得分:1)

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

    Firefox中的
  • ssl_error_no_cypher_overlap
  • Chrome中的
  • ERR_SSL_VERSION_OR_CIPHER_MISMATCH

using Java 8结果证明这是一个问题。当我切换到Java 7时,问题就停止了。

答案 4 :(得分:0)

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

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

答案 5 :(得分:0)

我要检查的第一件事是mod_nss的配置。这是奇怪的,因为它是你的,世界上没有像它一样:-)然而,如果Firefox或mod_nss本身有一些巨大的错误,我猜你现在已经发现了它谷歌任务。您摆弄配置(例如禁用SSL3以及其他各种随机调整)的事实也是可疑的。

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

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

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

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

答案 6 :(得分:0)

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

  • Firefox 33.1.1(有效)
  • Firefox 45.0.2(有效)
  • Firefox 56.0.2(失败)

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

答案 7 :(得分:-1)

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

答案 8 :(得分:-2)

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

答案 9 :(得分:-2)

"错误代码:ssl_error_no_cypher_overlap"登录后的错误消息,当预期欢迎屏幕时 - 使用Firefox浏览器

解决方案

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

答案 10 :(得分:-2)

对我有用的是我:

  1. 去约:config。
  2. 在搜索框中输入“security”。
  3. 将所有返回的条目设置为默认值。
  4. 在搜索框中输入“ssl”。
  5. 将所有返回的结果设置为默认值。
  6. 启用ssl2。
  7. 已禁用ssl3。
  8. 重启Firefox。
  9. 关于重启Firefox的注意事项:当我关闭它后很快启动它, 它经常有文件访问问题,这需要我删除 places.sqlite places.sqlite-journal C:\ WINDOWS \ Application Data \ Mozilla \ Firefox \ Profiles \ n18091xv.default 中。这导致我失去了我的历史,加上书签必须 每次发生这种情况时都会从备份中恢复。我等了五到十分钟 更多是为了避免这种麻烦。

    在WinMe上运行Firefox v3.5.1

答案 11 :(得分:-4)

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