扩展 Android 设备对 Let's Encrypt 证书的兼容性
更新,2021 年 5 月 13 日
请访问我们社区论坛上的[这篇文章] (https://community.letsencrypt.org/t/production-chain-changes/150739),获取有关链更改的最新信息,因为这篇博文中有关更改和日期的一些信息已过时。
我们很高兴地宣布,我们已经开发出一种方法,可以让旧版 Android 设备在我们交叉签署的中级证书过期后,仍然能够访问使用 Let's Encrypt 证书的网站。我们不再计划在 1 月份进行可能导致 Let's Encrypt 订阅者兼容性问题的任何更改。
在我们关于即将进行的链切换的[文章] (文章) 中,一个反复出现的话题是,我们担心对 7.1.1 之前的 Android 操作系统的用户造成的影响,他们的设备不信任我们的 ISRG Root X1。感谢我们社区中一些创新性的想法,以及我们与 IdenTrust 的优秀合作伙伴,我们现在有了一种解决方案,可以让我们保持广泛的兼容性。作为一家非营利组织,我们的使命至关重要,就是帮助为尽可能多的人创建一个更加安全和尊重隐私的网络。这项工作让我们更接近这一目标。
IdenTrust 已同意从他们的 DST Root CA X3 对我们的 ISRG Root X1 发布一个为期 3 年的交叉签名。新的交叉签名将有些新颖,因为它会超出 DST Root CA X3 的有效期。这种解决方案之所以有效,是因为 Android 有意地不强制执行用作信任锚的证书的有效日期。ISRG 和 IdenTrust 联系了我们的审计员和根程序,以审查这个计划,并确保没有合规性问题。
因此,我们将能够为订阅者提供包含 ISRG Root X1 和 DST Root CA X3 的链,确保所有用户的服务不中断,并避免我们一直在担心的潜在中断。
我们不会在 2021 年 1 月 11 日执行我们之前计划的链切换。相反,我们将在 1 月下旬或 2 月初默认切换到提供此新链。与本月初我们切换到 R3 中级证书一样,此过渡对 Let's Encrypt 订阅者不会有任何影响。
以下是更多技术细节。
**我是一名 ACME 客户端开发人员,我需要做什么?**如果您的客户端顺利处理了从 X3 到 R3 的过渡,那么您不需要采取任何措施。确保您的客户端在颁发结束后正确使用 ACME API 提供的中级证书,并且不要通过其他方式检索中级证书(例如,硬编码,重用磁盘上的现有证书,或从 AIA URL 中获取)。
**我是一名 Let's Encrypt 订阅者,我需要做什么?**在绝大多数情况下,什么都不需要做。如果您想仔细检查,请确保您的 ACME 客户端已更新。
**我使用的是旧版 Android 设备,我需要做什么?**什么都不用做!我们正在努力确保此更改对最终用户完全不可见。
**到底发生了什么变化?**今天,当订阅者从我们的 API 中获取他们的证书时,我们默认提供以下链:订阅者证书 < – R3 < – DST Root CA X3 更改后,我们将默认提供以下链:订阅者证书 < – R3 < – ISRG Root X1 < – DST Root CA X3 这意味着我们提供给订阅者的默认链将比以前更大,因为它包含两个中级证书,而不仅仅是一个。这将使 TLS 握手更大,效率略低,但为了获得额外的兼容性,这种权衡是值得的。
**但是 DST Root CA X3 不是要过期了吗?**代表 DST Root CA X3 密钥对的自签名证书将过期。但是浏览器和操作系统根存储不包含证书本身,它们包含“信任锚”,并且验证证书的标准允许实现选择是否使用信任锚上的字段。Android 有意地选择不使用信任锚的 notAfter 字段。正如我们的 ISRG Root X1 尚未添加到旧版 Android 信任存储中一样,DST Root CA X3 也未被删除。因此,它可以发出交叉签署证书,其有效期可以超出其自签名证书的有效期,而不会出现任何问题。
**新的交叉签名过期后会发生什么?**新的交叉签名将在 2024 年初过期。在此之前,也许早在 2021 年 6 月,我们将进行类似于我们打算今年 1 月进行的更改。当我们进行此更改时,订阅者可以选择继续使用 DST Root CA X3,方法是将他们的 ACME 客户端配置为专门请求它。如果您是已经着手缓解链切换的 Let's Encrypt 订阅者(例如,通过配置备用链或鼓励您使用旧版 Android 设备的用户安装 Firefox),请继续进行这项工作,这样您在未来将做好准备。
**备用链怎么样?**今天,一些 ACME 客户端能够在用户配置了备用链的情况下请求备用链。我们目前提供获取以下链的选项:订阅者证书 < – R3 < – ISRG Root X1 我们将继续提供相同的链作为备用。但是,请注意,大多数 ACME 客户端还没有办法选择此备用链(例如,Certbot 通过查看链中是否包含给定的颁发者名称来选择链,但此链不包含上面高兼容性链中没有的任何颁发者名称)。我们将与 ACME 客户端开发人员合作,为未来创建更灵活的链选择机制。
**这与即将推出的 ECDSA 链有什么关系?**此更改与我们即将从基于 ECDSA 的 ISRG Root X2 和 E1 中级证书进行颁发无关。我们期待使用它们提供更小、更高效的证书和链,但这项未来的工作与此次更改无关。
**我还有其他问题,如何获得解答?**请将您的问题提交到我们的社区论坛。
在未来,我们希望分享更多有关此计划如何运作以及原因的技术细节,并演示为什么 DST Root CA X3 的过期不会影响网络安全,以及此计划对我们订阅者和网络上的最终用户的长期意义。
为了提供我们的服务,我们依赖于我们支持者的贡献。如果您的公司或组织希望赞助 Let's Encrypt,请发送电子邮件至[email protected]。如果您有能力,请进行个人捐款。