五年前,Let's Encrypt脱离了其私人Beta版并推出了一个公共Beta版,该版本允许管理员请求可用于SSL加密(现为TLS)加密的有效证书。在通过发行26,000张证书开始私测版后,它现已发展到支持超过2.3亿个站点,并发行了超过十亿张证书。
准确地说,Let's Encrypt的成功在于仅供应有限寿命的证书-90天。在进行加密之前,通常会创建一两年的证书。这通常导致人们忘记续订证书,从而在证书随后过期时引起问题,例如2013年Azure上的证书过期问题。通过缩短证书寿命,它鼓励开发自动解决方案以定期获取和更新证书。定义并创建了ACMEv1协议,诸如Certbot之类的开源实用程序为操作系统提供了一种轻松的方法来获取和更新此类证书。现在不建议使用ACMEv1协议,现在将ACMEv2协议标准化为IETF RFC 8555,现在有许多ACMEv2客户端可用。
从一开始,Let's Encrypt就使用了由ISRG Root X1签名并由IdenTrust交叉签名的顶级证书(称为CA Root),这意味着该证书已被现有Web浏览器接受。该证书使用了4096位RSA密钥,并在2025年到期,尽管它仍然有生命,但是将来有必要用功能更强的密钥替换它。
结果,今年9月,Let's Encrypt使用ECDSA创建了一个新的根证书ISRG Root X2。使用ECDSA的主要优点是,它导致数据集更小,因此发送的数据包数量更少,从而获得了安全握手。此外,新的根证书已提交给负责证书存储的浏览器;尽管它尚未像ISRG Root X1一样被包含在广泛的系统中。 ISRG Root X2证书与ISRG Root X1交叉签名,以允许在此期间进行证书验证。
问题在于,Let的加密目前使用的DST X3证书将在2021年9月到期。因此,已经制定了计划,准备移至ECDSA根目录以获取将来的证书。发行,但默认情况下尚未发行。从明年1月11日起,提供证书的API将转为使用通过ISRC Root X1证书而非DST X3证书发布的证书。
ACMEv2协议提供了“替代”协议。链接,该链接可用于回滚到当前行为,但是关键问题是处理的旧操作系统要么没有正确的根证书,要么不支持SHA-1或在证书验证过程中使用的ECDSA协议。这包括较早版本的操作系统,尤其是博客文章中强调,低于7.1的Android操作系统可能无法处理此机制返回的证书。另外,也可以安装更新的浏览器(例如Firefox Mobile),或者将Let's Encrypt CA嵌入到您的应用中。
可以在其证书页面上找到有关Let's Encrypt提供的证书的更多信息,社区支持网站也提供了有关即将进行的更改的更多信息。
在五年的时间里,Let's Encrypt通过自动生成证书以及客户端和API来改变加密通信的发生方式。通过转向自己的根,并转向更紧凑的密钥表示,将有可能优化加密数据流的设置连接以及转向更强大的加密模型。
在2021年1月11日向API的转换可能会影响较旧的Android客户端,DST X3证书在下一年2021-09-30年的到期日期值得关注。请记住,新的API将开始返回新的根证书链,但是可能需要90天的时间才能对所有现有证书进行轮换和替换,因此可能要到2月或3月才可见。
每周二在InfoQ上发布的上周内容摘要。加入由超过25万名高级开发人员组成的社区。 查看范例
选择您同意的国家/地区,我同意InfoQ.com按照本隐私声明中的说明处理我的数据。