几天以来,每当我尝试在 Firefox 52.0.1 中打开 HTTPS 网页时,都会收到以下错误“Fehler: Gesicherte Verbindung fehlgeschlagen”(“错误:安全连接失败”等)和“连接到 www.blah.com 时发生错误。安全库:内存分配失败。错误代码:SEC_ERROR_NO_MEMORY”。我在运行 Leap 42.2 OpenSuse Linux 的机器上。
我猜这个错误是在我将 Firefox 从 51.x 更新时首先发生的。
迄今采取的无效措施包括:
- 回到版本 51.X。
- 卸载并安装版本 52.0.1。
- 卸载 Firefox 中的所有扩展。
- 在 about:config 中更改 security.tls.version.min 和 security.tls.version.max
- 检查 about:config 中所有与“https”有关的条目并切换一些。
- 删除文件 cert8.db 和 secmod.db
- 检查 glib-networking 库是否已安装
但这可能是系统的问题,而不是浏览器的问题:Chromium 也阻止了对一些 https 资源的连接,但似乎不像 Firefox 那么严格。
问题第一次出现时,我曾尝试过 gpg 和 KGpg,因此这可能是导致问题的原因。停用系统上的所有密钥并不能解决问题。
我知道,从版本 52 开始,Firefox 会以更严格的方式处理无效的 https 证书,但它不可能那么严格。甚至 www.mozilla.org 也无法使用。肯定还有其他问题。
我在另一台计算机上安装了 Firefox 52.0.1,运行正常,所以这似乎不是网络问题。
有人知道什么可能导致这种奇怪的行为吗?
干杯!
答案1
我在使用 Firefox 时也遇到了这个问题。事实证明(根据ssllabs.com,我的浏览器仅支持以下 EC曲线:x25519
,,,,。secp256r1
secp384r1
secp521r1
我生成的证书(经 OpenSSL 检查)使用不同的曲线:
Subject Public Key Info:
Public Key Algorithm: id-ecPublicKey
Public-Key: (570 bit)
pub:
04:[...]
ASN1 OID: sect571k1
注意上面的曲线名称:sect571k1
我使用 Java 创建了证书keytool
,显然它比我的浏览器支持更多的曲线。Firefox 在导入证书时似乎没有任何抱怨。似乎“不支持曲线”会是一条很容易提供给用户的错误消息。
更改证书以使用浏览器支持的曲线为我解决了问题。