7.1.1版以前的Android设备将不支持Let’s Encrypt凭证

免费凭证机构Let’s Encrypt上周警告手机跑Android 7.1.1版的用户,明年9月1日起有约1/3 Android设备会出现凭证错误问题。Let’s Encrypt也呼吁用户升级旧版Android、也希望网站管理员更新凭证。

一些新进入市场的根凭证机构(root certificate authority,root CA)为了加速普及,乃借由与现有CA企业交互签章(cross-signature)的方式扩大在OS及浏览器的信任范围。Let’s Encrypt也是如此。

Let’s Encrypt 5年前进入市场时,就是和IdenTrust采行交互签章,它的DST Root X3在市场流通已久为主要平台,包括Windows、macOS、Android、iOS及多种Linux发行版信任。交互签章使Let’s Encrypt得以立即发行凭证ISRG Root X1。

Let’s Encrypt首席开发人员Jacob Hoffman-Andrews指出,现在Let’s Encrypt已经在市场站稳脚步,但同一时间,和其凭证交互签章的DST Root X3却将在2021年9月1日到期。这对使用Let’s Encrypt凭证的新版操作系统来说并没有什么影响,但却会对一些通过交互签章信任其凭证的早期操作系统引发兼容性问题。

某些OS软件从2016年以后就未再更新,就不会信任ISG Root X1根凭证。其中最重要的是7.1.1版本以前的Android版本。这表示这些Android设备明年9月1日起,就无法再信任Let’s Encrypt发行的凭证。

由于Android升级权主要掌握在设备制造商及电信企业手中,致使有相当大比例的设备跑的是旧版的Android。根据Google 2020年9月的统计,搭载Android 7.1以上版本的设备占66.2%,表示有33.8%的Android设备从明年9月起访问使用Let’s Encrypt凭证的网站时,会出现凭证错误情形。根据使用Let’s Encrypt凭证的大型集成商的统计,这些网站大约占了他们1-5%的流量。

为了解决可能到来的凭证错误问题,Let’s Encrypt计划从2021年1月11日起,Let’s Encrypt将变更API,使ACME用户端软件除了默认送出导向ISRG Root X1的凭证串链(certificate chain),同样凭证也能送出导向DST Root X3的凭证串链。这是通过为ACME用户端软件加入“另类”连接关联(link relation)实例而成,达到兼容目的。目前已有Certbot 1.6.0以上版本支持这项功能。

对终端用户,Let’s Encrypt建议旧版Android用户升级OS,再不然就安装Firefox Mobile。这是因为Mozilla是Let’s Encrypt的根凭证伙伴之一。

对于网站持有人,Let’s Encrypt提醒他们检查所用的其他ACME用户端是否支持另类连接关联,也鼓励网站持有人部署暂时性的解法,即转到其他凭证串链。长期解决方案包括要求网站持有人将(旧版Android设备的)网站连接降到HTTP、转到其他CA、停止支持旧版Android,或是要求Android用户升级设备的OS(或安装Firefox)。若网站是托管在其他基础架构上,则最好问问托管厂商是否有用DST Root X3凭证而会在明年9月过期的问题。