Windows7/ Win10 更新Let's Encrypt 根证书

CL 2025/1/7 发布 · 2025/1/8 更新 · 55 次阅读

Quicker网站已改为使用Let's Encrypt的证书,

如果您的Windows版本过旧且长时间没有打补丁,可能不支持比较新的SSL证书。

参考问题:Websocket服务出错:获取服务端证书失败。发送请求时出错。 - Quicker 

 

可以尝试的方法:

1) 安装比较新的Win7累积补丁。

2)安装根证书,参考:https://docs.certifytheweb.com/docs/kb/kb-202109-letsencrypt/#windows-pcs 

以下是中文翻译:

Windows 电脑

在 Windows 电脑上,只需使用 Chrome、Edge 等浏览器访问某个网站,即可通过所需证书来更新客户端信任存储。访问 https://valid-isrgrootx1.letsencrypt.org/ 时,Windows 会自动将 ISRG Root X1 包含到其信任存储中。

如果你的 Windows 证书存储过时,可以手动安装 ISRG Root X1:

  1. 访问 http://x1.i.lencr.org/ 下载 ISRG Root X1 的 .cer 文件(你的浏览器可能会警告文件类型,你可能需要点击“保留”来保存文件)。
  2. 打开下载后的文件,点击“安装证书...”,选择“将证书安装到受信任的根证书存储”选项,依次点击“下一步”、“完成”。
  3. 重启电脑。

完成后,你应该检查为何你的 Windows 系统没有自动更新证书颁发机构(这通常是默认行为)。

 

以下是ChatGPT给出的建议:

在较新的系统(如 Windows 10/11)上,绝大多数浏览器已默认信任 Let's Encrypt 的根证书,因此访问使用该免费 SSL 证书的网站时通常不会有问题。但在 Windows 7 上,如果系统缺少必要的根证书更新,就有可能无法正常访问或会出现证书不被信任的提示。

下面提供几种常见的解决思路和步骤,建议按从简到繁的顺序操作:


方法一:确认并安装 Windows 7 的系统更新(包括根证书更新)

  1. 确保 Windows 7 已经安装了 Service Pack 1 (SP1)

    • 只有安装了 SP1 的 Windows 7 才能继续接收后续更新(虽然微软对 Win7 官方支持已停止,但在一些场景下仍能获取部分关键更新),并且一些软件或第三方工具可能需要 SP1 作为依赖环境。
    • 右键“计算机”,选择“属性”,可查看系统信息,确认是否已安装 Service Pack 1。
  2. 开启自动更新或手动更新根证书

    • 在“控制面板” > “Windows Update” 中,查看是否有可用的重要更新,尽量安装完所有重要更新。
    • 由于微软对 Windows 7 已经停止主流支持,如果无法自动更新,可尝试通过Microsoft Update Catalog手动下载安装相关更新补丁。
    • 重点关注能更新根证书的补丁(如 KB3004394、KB931125 等),因为这些是用来定期更新系统的根证书存储区的。
  3. 验证根证书是否已经更新

    • 安装更新完成后,可以在浏览器中再次访问目标网站,或使用一些 SSL 检测工具(如 SSL Labs - SSL Server Test)来查看是否还存在“不受信任”或“证书链不完整”等问题。

优点:这是最常规、最官方的方法,如果 Windows 7 还未安装所有关键性安全补丁,装上之后不仅能解决证书问题,还能提升系统稳定和安全性。
缺点:由于 Windows 7 已停止主流支持,有时更新安装可能不太顺畅,需要手动去下载和安装补丁。


方法二:手动导入 Let's Encrypt 的根证书(ISRG Root X1 等)

如果实在无法更新系统,或者更新后依旧无法正常访问,也可以手动将最新版的根证书导入到 Win7 本地的“受信任的根证书颁发机构”中。比较常见的需要导入的根证书为 ISRG Root X1(这是 Let's Encrypt 主要使用的根证书),有时还需要 DST Root CA X3(历史原因,少数老系统中依旧依赖它来建立完整的证书链)。不过现阶段关键是 ISRG Root X1。

1. 下载根证书

下载时,可根据需求选择“PEM”、“DER”等格式,一般导入 Windows 使用 .crt.cer 格式较为方便。

2. 打开“证书管理器”并导入

方法 1:

  1. 在下载好的根证书文件上右键,选择“安装证书(Install Certificate)”。
  2. 在证书导入向导里,选择“本地计算机(Local Machine)”或“当前用户(Current User)”,若需要所有用户都生效则选“本地计算机”。
  3. 接着在“证书存储”中选择“将所有的证书都放入下列存储”,并指定“受信任的根证书颁发机构”。
  4. 点击“完成”并确认安装。

方法 2:

  1. 按下 Win + R,输入 mmc 并回车,打开“Microsoft 管理控制台”。
  2. 在菜单“文件”中选择“添加/删除管理单元”,然后在左侧选择“证书”,点击“添加”。
  3. 选择“计算机账户”并下一步完成添加。
  4. 在控制台中展开“证书 (本地计算机)” > “受信任的根证书颁发机构” > “证书”。
  5. 右键空白处 > “所有任务” > “导入”,然后选择刚才下载的根证书文件,按照向导点击“下一步”完成导入。

3. 验证导入结果

  • 导入成功后,可以在“证书 (本地计算机)” > “受信任的根证书颁发机构” > “证书”中看到 ISRG Root X1(或对应证书)。
  • 重新打开浏览器,访问目标网站,如果一切正常,浏览器会显示网站使用的是受信任的加密连接。

优点:无需依赖系统更新,只要手动导入到根证书颁发机构即可;对局域网内大量旧机型也可以半自动化或脚本化来分发证书。
缺点:需要自己保持对证书的更新关注,一旦 Let's Encrypt 根证书有变动,需要再次手动更新。


方法三:在浏览器或网络代理层面做自定义信任(非常规)

如果只在特定浏览器使用,或者可以通过代理服务器统一“代理+转发”来解决证书信任问题,也是一种思路,不过比较非常规,适合某些测试或临时应急场景。例如:

  • 在 Firefox 中自带一个证书管理器,它自身在一定程度上依赖自身的根证书库,而不是 Windows 的根证书库(所以在 Win7 未更新的情况下,有时用 Firefox 能正常访问,用 IE 却不行)。
  • 在网络代理服务器或 SSL 中间人代理中添加根证书,让旧系统访问时能够通过代理的中间证书建立 SSL 连接。

但对于一般用户、日常使用而言,不太建议用这种方法,除非对网络环境、代理配置非常熟悉且可控。


常见问答

  1. 为什么 Windows 7 访问同一个网站,而在 Windows 10/11 或手机上却正常?
    这主要是因为 Win7 已停止官方支持,系统自带的根证书存储很老,如果不更新或手动导入,就不包含 Let's Encrypt 的最新根证书。因此 Win7 会误认为该网站的证书不受信任。

  2. 导入证书后,浏览器还是提示不信任?

    • 确认证书是正确且完整的,比如必须把 ISRG Root X1 根证书导入到“受信任的根证书颁发机构”,而非中间证书或用户证书存储区。
    • 确认没有导入到错误位置或者中途选择错了安装路径。
    • 如果是多浏览器,可能需要分别导入,或导入到“本地计算机”的受信任根证书才能覆盖所有浏览器。
  3. DST Root CA X3 还用手动导入吗?
    由于大部分当前使用的证书链已经迁移到 ISRG Root X1,为了兼容极少数尚未更新链的服务环境,仍可能需要 DST Root CA X3;但在大多数情况下,手动导入 ISRG Root X1 即可。


总结

  1. 最建议的方式是给 Windows 7 安装所有关键性安全补丁,尤其是根证书更新相关的补丁,这样系统可以自动信任 Let’s Encrypt 的最新证书。
  2. 如果无法更新,也可以 手动导入 Let’s Encrypt 根证书(主要是 ISRG Root X1),让系统和浏览器信任该证书。
  3. 如果以上都无法实现(或场景特殊),才考虑非常规的 代理方式单浏览器证书管理 等手段。

通过以上方法,Windows 7 即可正常访问使用 Let’s Encrypt 免费 SSL 证书的网站。

· {{comment.createTimeStr}}
{{reply.votePoints}}
回复   – {{reply.createTimeStr}}
回复 x
标签
目录
相关操作