[SSL证书] 旧系统不信任ISRG Root X1的解决方案

幻想 2025年11月10日 28 0

背景

最近公司的SSL证书从Rapid改为Let's Encrypt,证书签发并绑定服务器后,发现有些用户还是会提示此证书不被信任,导致操作上的一些麻烦。

解决

Windows(win10之前)

方法一(手动安装根证书)

  1. 下载ISRG Root X1.der文件(你的浏览器可能会警告文件类型,你可能需要点击“保留”来保存文件)。如果点击链接没有开始下载,请复制链接网址后,在新标签页打开。
  2. 双击打开下载的文件,点击“安装证书...”,选择“将证书安装到受信任的根证书存储”选项,依次点击“下一步”、“完成”。
    SSL1
    SSL2
    SSL3
    SSL4
    SSL5
  3. 重启电脑或浏览器

方法二(确认系统更新)

一般情况下,在较新的系统(如 Windows 10/11)上,绝大多数浏览器已默认信任 Let's Encrypt 的根证书,因此访问使用该免费 SSL 证书的网站时通常不会有问题。在Win7可能缺少必要的根证书。

  1. 确认Win7已安装Service Pack 1 (SP1)
  2. 确保已安装根证书补丁(如 KB3004394KB931125 等),因为这些是用来定期更新系统的根证书存储区的。

Android(Android7.1及之前)

  1. 下载ISRG Root X1.pem文件,降后缀改为.crt
  2. 进入设置 > 安全 > 加密与凭据 > 从存储设备安装,选择证书文件。
  3. 安装时选择VPN和应用用途,完成导入。
  4. 重启系统

Java(Java8之前)

  1. 下载ISRG Root X1.pem文件
  2. 执行
# 导入
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

参照

Last Updated: 2025/11/10 16:58:48
[SSL证书] 协议升级调研 linux基础_查看软件开机启动状态_例如iptables