背景
最近公司的SSL证书从Rapid改为Let's Encrypt,证书签发并绑定服务器后,发现有些用户还是会提示此证书不被信任,导致操作上的一些麻烦。
解决
Windows(win10之前)
方法一(手动安装根证书)
- 下载ISRG Root X1的
.der文件(你的浏览器可能会警告文件类型,你可能需要点击“保留”来保存文件)。如果点击链接没有开始下载,请复制链接网址后,在新标签页打开。 - 双击打开下载的文件,点击“安装证书...”,选择“将证书安装到受信任的根证书存储”选项,依次点击“下一步”、“完成”。

- 重启电脑或浏览器
方法二(确认系统更新)
一般情况下,在较新的系统(如 Windows 10/11)上,绝大多数浏览器已默认信任 Let's Encrypt 的根证书,因此访问使用该免费 SSL 证书的网站时通常不会有问题。在Win7可能缺少必要的根证书。
Android(Android7.1及之前)
- 下载ISRG Root X1的
.pem文件,降后缀改为.crt - 进入设置 > 安全 > 加密与凭据 > 从存储设备安装,选择证书文件。
- 安装时选择VPN和应用用途,完成导入。
- 重启系统
Java(Java8之前)
- 下载ISRG Root X1的
.pem文件 - 执行
# 导入
keytool -import -trustcacerts -alias isrgrootx1 -file isrgrootx1.pem -keystore "$JAVA_HOME/jre/lib/security/cacerts"
附带其他指令:
# 删除已有
keytool -delete -alias DigiCertGlobalRootG2 -keystore "$JAVA_HOME/jre/lib/security/cacerts" -storepass changeit
# 导入
keytool -import -trustcacerts -alias DigiCertGlobalRootG2 -file $JAVA_HOME/jre/lib/security/DigiCertGlobalRootG2.crt.pem -keystore "$JAVA_HOME/jre/lib/security/cacerts" -storepass changeit
# 查看
keytool -list -keystore "$JAVA_HOME/jre/lib/security/cacerts" -storepass changeit | grep -i DigiCertGlobalRootG2
参照
0