Mozilla宣布“用于验证各种 Mozilla 项目(包括 Firefox)的签名内容和附加组件的根证书将于 2025 年 3 月 14 日到期”。除了更新 Firefox,他们没有提供任何其他选项。然而,我从带有树形标签页的 115 ESR 版本升级失败,尝试了 128 ESR 和 136 版本——会话既未保存也未恢复,大部分 UI 根本无法使用。为了查找类似的 bug,我发现大多数与我的症状相近的 bug 都与 127 版本的变化有关,于是我选择了 Firefox 126 版本,从源代码构建并在 Jail 容器中运行。它在我的配置文件中运行正常,但它的证书今天就过期了。
那么,我该如何使用新证书来修补此版本的 FF?也就是说,这个证书位于 Firefox 源的哪个位置?
请注意,这不是通常的证书数据库问题 - 在 Mozilla 支持线程上,他们说此证书已嵌入代码中。
我尝试查看 NSS 发行说明,但没有找到提及,所以它可能在 Firefox 包的源中,而不是在 NSS 中。
我在这里遇到了同样的问题,当从源代码编译 FF 是解决此问题的方法时,我们应该在答案中收集此类过程的信息。
我没有足够的声誉来发表评论,所以我将我的评论放在了这个答案中。
之前被踩过的那个答案其实很有用,因为这些插件在过去几年里都经过了认证,禁用它们是因为证书失败而不是插件本身的问题,所以禁用验证不会带来任何额外的风险。除非你开始更新你的插件。
但是您可以在另一台机器上为无法正常工作的 FF 版本认证插件并安装它,而不会产生任何额外的风险。
因此如果赞成该答案。
如果您愿意接受其他解决方案,您可以通过访问
about:config
并设置来禁用证书验证我在 Android 版 Firefox Nightly 中成功测试了这一点,在 ESR 中也应该可以正常工作。
事实证明,证书中的密钥本身并没有改变,只是证书是用相同的密钥生成的,只是日期在很久以后(这些文件是二进制格式,所以用搜索
*.pem
或 grepping等常用方法找不到它们MII
)。可以通过查看两个不同版本的 Firefox 解压源中的相同文件来确认这一点,例如:因此,要使用较新的证书构建旧版本的 Fireffox,只需将 3 个文件从较新版本的源复制到旧版本的源树即可,例如:
然后构建它。我使用 Firefox 126 编写了这篇文章,并且以这种方式构建 - 测试正常。