浏览器

SEC_ERROR_EXPIRED_CERTIFICATE:证书过期还是电脑时间不对

作者: · 最后核实

报错信息SEC_ERROR_EXPIRED_CERTIFICATE

SEC_ERROR_EXPIRED_CERTIFICATE 的意思是:按你设备的时钟,证书已经过了到期日。 要么网站忘了续期,要么你的电脑以为现在比实际更晚。Firefox 会在警告页上写出你电脑当前的日期,通常几秒钟就能分辨。

先判断是网站的问题还是你电脑的问题

警告页上 Firefox 显示的日期(“您的计算机时钟设置为……”之类的提示)不对,就是你电脑的问题,改时间即可。日期正确,再用 SSL 检测 确认:

curl ssl.sh/example.com
  • 检测也显示证书过期:网站需要续期,访客这边没有安全的办法。
  • 检测显示证书有效,你的时间也对:可能是代理、杀毒软件或 Wi-Fi 认证页拿出了它自己的过期证书。在证书查看器里看颁发者。

原因

证书过期最常见的原因是续期失败,或者续期后没部署、没重载服务;电脑时间不对排在其后。

1. 续期失败或续了没部署

ACME 任务坏了(DNS 改过、80 端口被封、云解析 API 密钥过期),或者花钱买的证书到期没换。查看到期日:

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null \
  | openssl x509 -noout -enddate

国内服务器常见的情况:安全组没放行 80 端口,或者域名备案出了问题导致访问被拦截,HTTP-01 验证失败,续期就一直不成功。可以改用 DNS 验证(DNSPod、阿里云解析都有 API)。

2. 续期了但没重载服务

新文件已经在磁盘上,Nginx、Apache 内存里用的还是旧证书。每次续期后都要重载:certbot 用 --deploy-hook,acme.sh 用 --reloadcmd。

3. 电脑时间快了

时钟跳到了未来(时区设置错、手动改过、主板时钟故障),有效证书也会被当成过期。打开自动设置时间。

4. 证书链里有过期的中间证书(SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE)

服务器打包的是旧中间证书。换成 CA 当前的证书链,或者用 证书链工具 生成。

5. 证书尚未生效(MOZILLA_PKIX_ERROR_NOT_YET_VALID_CERTIFICATE)

时间慢了,常见于主板电池没电。修法一样:把时间改对。

在各浏览器/系统上的样子

Chrome 系浏览器把证书过期报成 NET::ERR_CERT_DATE_INVALID,curl 报 certificate has expired。

浏览器 显示内容
Firefox “警告:面临潜在的安全风险”,说明证书已于某日过期,代码 SEC_ERROR_EXPIRED_CERTIFICATE
Chrome / Edge / 360 / QQ 浏览器 NET::ERR_CERT_DATE_INVALID
Safari “此连接非私人连接”,详情显示证书已过期
curl SSL certificate problem: certificate has expired

站长怎么修

续期证书并重载服务能立即修好,再加上部署钩子,以后每次续期都会自动生效。

1. 续期并重载。

sudo certbot renew
sudo systemctl reload nginx

2. 让续期能自己收尾。 加上部署钩子,每次续期后自动重载:

sudo certbot renew --deploy-hook "systemctl reload nginx"

宝塔面板申请的 Let's Encrypt 证书会自动续签,但如果网站开了强制 HTTPS 又改过验证目录的规则,续签可能失败,要留意面板的续签日志。

3. 所有副本都要更新。 阿里云/腾讯云 CDN、负载均衡、邮件服务器不会自动读取源站的新文件,要在控制台更新证书,或者开启云平台的证书托管/自动部署。

4. 监控到期时间。 每次续期后用 curl ssl.sh/example.com 确认,并在到期前很早就设好提醒。2026 年证书最长 200 天,以后还会更短(可以用 有效期计算器 查),只有自动化才靠得住,见 自动续期。

常见问题

证书过期的网站,接受风险继续访问安全吗?

要登录、付款的网站不安全。证书过期大多是疏忽,但拿着旧证书和旧私钥的攻击者也会触发同样的警告。等站长续期。

SEC_ERROR_EXPIRED_ISSUER_CERTIFICATE 是什么?

证书链里的某张中间证书过期了,网站自己的证书倒还有效。说明服务器用的是旧的证书链文件,要从 CA 下载当前的中间证书,替换掉证书链。

Firefox 说证书过期了,可证书明明下周才到期,为什么?

你的电脑时间快了。Firefox 会在警告页上写出电脑当前的日期,和真实日期对比一下,然后打开自动同步时间。见 系统时间错误。

资料来源

  1. Mozilla Support: How to troubleshoot time related errors on secure websites
  2. Mozilla Support: Error codes on secure websites
  3. RFC 5280 4.1.2.5 节:Validity