更新,2023 年 7 月 10 日

有关 IdenTrust 发行的较新 ISRG Root X1 交叉签名将于 2024 年 9 月到期的详细信息,请参阅我们的最新博文

更新,2020 年 12 月 21 日

感谢社区的反馈以及我们与 IdenTrust 的合作,我们将能够继续提供服务,而不会中断使用旧版 Android 设备的用户。我们已标记此博文不再准确的内容。请访问我们社区论坛上的此帖子,获取有关链更改的最新信息。

当一个新的证书颁发机构 (CA) 出现时,它会面临一个难题:为了对人们有用,它需要其根证书被各种操作系统 (OS) 和浏览器信任。但是,操作系统和浏览器可能需要数年时间才能接受新的根证书,人们升级到包含该更改的更新版本可能需要更长时间。常见的解决方案:新的 CA 通常会要求现有的可信 CA 进行交叉签名,以便快速使其被大量设备信任。

五年前,Let's Encrypt 推出时,我们就是这样做的。 我们从 IdenTrust 获得了交叉签名。他们的“DST Root X3”已经存在了很长时间,所有主要软件平台都信任它:Windows、Firefox、macOS、Android、iOS 和各种 Linux 发行版。该交叉签名使我们能够立即开始颁发证书,并且对许多人有用。如果没有 IdenTrust,Let's Encrypt 可能永远不会出现,我们感谢他们与我们合作。同时,我们颁发了我们自己的根证书(“ISRG Root X1”)并申请了主要软件平台对其进行信任。

[本节已过时] 现在,这些软件平台已经信任了我们的根证书多年。而我们用来起步的 DST Root X3 根证书即将到期 - 2021 年 9 月 1 日。幸运的是,我们已经准备好独立自主,完全依靠我们自己的根证书。

但是,这确实会带来一些兼容性问题。一些自 2016 年(大约是我们根证书被许多根程序接受的时候)以来未更新的软件仍然不信任我们的根证书 ISRG Root X1。最值得注意的是,这包括 7.1.1 之前的 Android 版本。这意味着这些旧版本的 Android 将不再信任 Let's Encrypt 颁发的证书。

Android 在操作系统更新方面存在一个长期存在且众所周知的问题。世界上有很多 Android 设备运行着过时的操作系统。原因很复杂,难以解决:对于每部手机,核心 Android 操作系统通常会在最终用户收到它之前被制造商和移动运营商修改。当 Android 更新时,制造商和移动运营商都必须将这些更改合并到他们的定制版本中,然后才能将其发布。制造商经常决定这样做不值得。这对购买这些设备的人来说很糟糕:许多人被困在多年过时的操作系统上。

Google 现在不再在其Distribution Dashboard 上提供版本号,但您仍然可以通过下载Android Studio 获取一些数据。截至 2020 年 9 月,这些数字如下所示

Android Version Distribution as of September 2020

目前,66.2% 的 Android 设备运行的是 7.1 或更高版本。剩余 33.8% 的 Android 设备最终将在用户访问拥有 Let's Encrypt 证书的网站时开始出现证书错误。在我们与大型集成商的沟通中,我们发现这大约占其网站流量的 1-5%。希望到明年 DST Root X3 到期时,这些数字会更低,但变化可能并不大。

我们能对此做些什么呢?虽然我们很想改善 Android 更新情况,但我们对此无能为力。我们也负担不起为全世界购买新手机。我们可以获得另一个交叉签名吗?我们已经探索了这个选项,似乎不太可能。对于 CA 来说,交叉签署另一个 CA 的证书是一个很大的风险,因为他们对该 CA 所做的一切负责。这也意味着交叉签名的接收方必须遵循交叉签署 CA 制定的所有程序。对我们来说,能够独立自主非常重要。此外,Android 更新问题似乎没有得到解决。如果我们承诺支持旧版本的 Android,我们就将承诺无限期地从其他 CA 那里寻求交叉签名。

这是一个两难的境地。我们致力于让地球上的每个人都能进行安全且尊重隐私的通信。我们知道受 Android 更新问题影响最大的是我们最想帮助的人 - 那些可能无法每四年购买一部新手机的人。不幸的是,我们预计在 DST Root X3 到期之前,Android 使用率不会发生太大变化。通过现在提高对这种变化的认识,我们希望帮助我们的社区找到前进的最佳途径。

[本节已过时] 如果您是网站所有者

截至2021 年 1 月 11 日我们计划更改我们的 API,以便 ACME 客户端默认情况下会提供一个指向 ISRG Root X1 的证书链。但是,也可以为同一个证书提供指向 DST Root X3 的备用证书链,以提供更广泛的兼容性。这是通过ACME 的“备用”链接关系 实现的。这从1.6.0 版开始由 Certbot 支持。如果您使用的是其他 ACME 客户端,请查看客户端的文档,以了解是否支持“备用”链接关系。

有些网站所有者会收到来自用户的投诉,我们理解这并不理想。我们正在努力通知网站所有者,以便您能够做好规划和准备。我们鼓励网站所有者部署一个临时解决方案(切换到备用证书链),以在您评估长期解决方案的需求时让您的网站继续运行:您是否需要运行一个横幅,要求使用旧版操作系统的 Android 用户安装 Firefox,停止支持旧版本的 Android,为旧版本的 Android 回退到 HTTP,还是切换到安装在这些旧版本上的 CA。

[本节已过时] 如果您通过托管服务提供商获取 Let's Encrypt 证书

您的托管服务提供商可能会到 2021 年 9 月之前一直提供 DST Root X3,或者他们可能会决定在2021 年 1 月 11 日之后切换到指向 ISRG Root X1 的证书链。如果您有任何问题,请联系他们!

如果您使用的是旧版本的 Android

如果您使用的是旧版本的 Android,我们建议您安装 Firefox Mobile,它在撰写本文时支持 Android 5.0 及更高版本。

为什么安装 Firefox 有帮助?对于 Android 手机的内置浏览器,受信任的根证书列表来自操作系统 - 这些旧手机上的操作系统已过时。但是,Firefox 目前是浏览器中的独一无二的 - 它自带受信任的根证书列表。因此,任何安装最新版本 Firefox 的人都将受益于更新的受信任证书颁发机构列表,即使他们的操作系统已过时。

感谢您对我们现在以及多年来一直作为 CA 成长的理解和支持,我们确保世界各地的人都能获得加密。我们将通过我们的社区论坛帖子 提供有关此根转换如何影响 Android 设备的任何未来更新。如果您对这种变化有任何疑问,我们的社区随时准备为您提供帮助:community.letsencrypt.org.

为了提供我们的服务,我们依赖于支持者的贡献。如果您所在的公司或组织希望赞助 Let's Encrypt,请通过电子邮件与我们联系:[email protected]。我们要求您如果条件允许,请做出个人贡献

如果您是应用程序开发者

如果您开发 Android 应用程序,您可以发布一个更新,在应用程序上下文中将 ISRG Root X1 添加为受信任的根。有关如何执行此操作的方法,请参阅此论坛主题此 GitHub 问题(位于第三方存储库中)。