
在2021年9月30日后,你的移动设备访问某些使用了Let's Encrypt网站会出现如图所示情况,但是你发现你的设备时间是正确的,那么就有可能是因为移动设备的Let's Encrypt证书过期所致,教学适合以下设备:
Kaios:全部
Android:7.x以下设备
IOS:10.x以下设备
----------设备是比较新的系统比如2.5.4----------
可以考虑等待你的设备厂商推送更新修复,如果你不想等且手机已经root(临时永久root皆可),请参考下面办法安装证书。
----------设备只有比较旧的系统比如2.5.2或者更低*-----------
使用 Wallace Toolbox 获取临时 ROOT 权限(拨号盘按 1),对于高通210设备比如非美版的诺基亚 6300 4G 和 8000 4G,请参阅此教程(https://sites.google.com/view/bananahackers/devices/nokia-8000-4g-nokia-6300-4g-2020 )获取永久 ROOT 权限(需自备梯子,且我们不对此提供任何支持)
拨号盘输入 *#*#33284#*#*,将设备接入到电脑,在终端输入 adb devices 检查是否返回设备。 访问我们已经修改好的工具包地址:https://gitee.com/mininet/a01,下载或使用 git clone 获取它。
git clone https://gitee.com/mininet/a01
cd b2g-certificates
Windows (Testing)
对于 Windows 用户,我们已经修改并移植好了一个 Batch 脚本,且准备好了大部分所需的环境,直接下载解压即可,但我们并未将 ADB 包含到工具包,请自行安装 ADB 驱动且自备 Android Platform Tools,安装驱动以及设置环境变量可参考此教程。
获取到工具包后双击 add-certificates-to-phone.bat 然后按照提示输入路径(例如对于诺基亚手机用户,输入 /data/b2g/mozilla),即可将证书导入到手机,执行后手机将会重启,之后可尝试访问使用 Let's Encrypt SSL 的网站和应用。
由于我们仅仅只是粗略的进行移植,可能会出现问题,若有问题可在此处反馈:https://github.com/openGiraffes/b2g-certificates/issues
Linux
对于 Linux 用户,请按需执行以下命令:
# Debian/Ubuntu
sudo apt-get install libnss3-tools adb wget
# RHEL/CentOS/Fedora
sudo dnf install nss-tools wget #adb 需自行安装
# ArchLinux
sudo pacman -S nss android-tools
wget chmod +x ./add-certificates-to-phone.sh ./add-certificates-to-phone.sh -d #对诺基亚用户
# Windows Subsystem for Linux (WSL)
chmod +x ./add-certificates-to-phone-wsl.sh
./add-certificates-to-phone-wsl.sh -d #对诺基亚用户
注意:对于使用 WSL 的用户,请确保 Android Platform Tools (Windows 版本)已加入到环境变量 Path 中,原因是目前的版本无法令 WSL 访问设备
*本段由中国kaios社群OpenGiraffesGroup编写,原文链接:https://opengiraffes.top/manually-import-new-root-ca/
下载ISRG Root X1证书(https://letsencrypt.org/certs/isrgrootX1.der) 安装配置文件 证书安装后,清Safari缓存和历史记录并重启设备。
不管你的设备是不是安卓5或者更老的系统,无论是否已经被ROOT,你都可以自己安装缺少的LE根证书,但是不管是哪种办法,都必须添加以下两个证书。
ISRG Root X1(https://letsencrypt.org/certs/isrgrootX1.pem)
ISRG Root X2(https://letsencrypt.org/certs/isrg-root-x2.pem)
----------没有root的旧设备-----------
在安卓5或更老的系统,你可以只将这些证书安装为 "用户证书"。但是你可能必须使用带有图案/PIN或密码锁的锁屏如果你需要这么做。
-----------旧的已root的设备------------
在已root的旧版安卓设备上,你可以将新的Let's encrypt根证书添加到系统证书库/system/etc/security/cacerts.bks。
先把该文件下载到电脑上,使用KeyStore Explorer添加Let's encrypt根证书文件并保存。然后把cacerts.bks推送到你的安卓设备上。
----------较新的已root设备----------
在较新的、有root的设备上,如果设备是通过Magisk root的,那么你可以把这两个证书作为用户证书安装,然后用Magisk模块移动证书把它们移到系统商店。
如果你不是通过Magisk root的手机或者上述模块不可用,你可以先把证书安装为用户证书,然后手动把它们移到系统证书存储区。
这个安装过程与安装adguard 伪根证书非常相似。
输入下面命令显示Let's encrypt证书的哈希值。
openssl x509 -inform PEM -subject_hash_old -in isrgrootX1.pem | head -1
6187b673
openssl x509 -inform PEM -subject_hash_old -in isrg-root-x2.pem | head -1
8794b4e3
为了使证书工作还要确保复制的证书文件有正确的权限。
chmod 644 /system/etc/security/cacerts/6187b673.0
chmod 644 /system/etc/security/cacerts/8794b4e3.0
++++++++++写在最后+++++++++
安装证书后,你应该能够正常访问这个网站(没有安全警告):https://valid-isrgrootX1.letsencrypt.org/