起因
手上有个 Android 6.0 的垃圾联想平板,虽然用起来卡的怀疑人生,但上面有完整的谷歌服务,挂个梯子就能直接使用,就想着拿来装个 YouTube 看看视频啥的。
但是安装完 Clash 后,尝试导入订阅时 Clash 报错:x509: certificate has expired or is not yet valid
,检查了一下系统时间没问题就怀疑是证书存在问题,一番搜索后确定了是系统内置的 DST Root CA X3 证书在2021年9月30日过期导致的问题,那么接下来就是找方法更新证书了。
前置准备
- 一台 已Root 的安卓设备,因为解决此问题需要向
/system/etc/security/cacerts/
手动导入证书,Root权限是必须的 - 支持读写根目录的文件管理器
- ISRG Root X1 和 ISRG Root X2 证书,下载后保存到本地备用
证书导入
将 X1 证书重命名为 6187b673.0
,将 X2 证书 重命名为 8794b4e3.0
,使用文件管理器将其移动到 /system/etc/security/cacerts/
即可,并将两个文件的权限设置为 644
至此证书就安装完成了,我这边没有重启设备 Clash 就已经能正常导入订阅了,Chrome浏览器等依赖系统证书的应用也可以正常工作了。
参考
如何给Let's Encrypt证书过期的移动设备安装证书 - 哔哩哔哩 (bilibili.com)
DST Root CA X3 Expiration (September 2021) - Let's Encrypt (letsencrypt.org)
谢谢!!! 小米平板2成功
好好好,成功了
用你的方法一下子就搞定,感谢万分!
请问必须先root并放入系统路径吗?不root,从系统设置里面安装为用户级别证书能行吗?
👍❤️.👍感谢分享,拨云见日。