You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

curl提示SSL证书已过期但实际证书有效,应如何解决?

可行解决方案

这个问题本质是老系统中仍然保留了已过期的DST Root CA X3根证书,证书校验时会优先匹配到这个过期根证书,所以即使更新了根证书包也会校验失败,可按以下优先级尝试修复:

方案1:删除过期的DST Root CA X3根证书后重建证书缓存

  • Debian/Ubuntu 系列操作系统
    1. 注释掉旧根证书配置:执行sed -i 's/^mozilla\/DST_Root_CA_X3.crt/!mozilla\/DST_Root_CA_X3.crt/' /etc/ca-certificates.conf
    2. 重建根证书缓存:执行update-ca-certificates -f
  • RHEL/CentOS 系列操作系统
    1. 移除旧根证书文件:执行rm /etc/pki/ca-trust/source/blacklist/DST_Root_CA_X3.pem 2>/dev/null
    2. 重建根证书缓存:执行update-ca-trust extract

方案2:强制curl指定使用最新根证书包

首先确认你的curl默认读取的根证书路径:执行curl -v https://www.baidu.com 2>&1 | grep CAfile查看默认加载的证书路径。

  • 临时测试:在curl请求后添加--cacert /etc/ssl/certs/cacert.pem参数即可
  • 永久生效:编辑~/.curlrc(当前用户生效)或/etc/curlrc(全局生效),添加一行配置cacert = /etc/ssl/certs/cacert.pem即可

方案3:已停止维护的老旧系统专属修复

如果是CentOS 6、Debian 8等官方已停止更新的系统,需手动添加ISRG Root X1根证书:

  1. 手动下载ISRG Root X1根证书,放入/usr/local/share/ca-certificates/目录,命名为isrgrootx1.crt
  2. 执行对应系统的根证书缓存更新命令即可

注意:不推荐直接使用-k/--insecure参数跳过证书校验,会存在数据被窃听/篡改的安全风险。


内容的提问来源于stack exchange,提问作者Jakob

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 18:15:04