SSL证书不被浏览器信任的几个原因
部署 SSL 证书后,浏览器在 TLS 握手过程中会通过内置的根证书库(Trust Store)对服务端的证书链进行逐级校验。如果校验链条中断或证书属性异常,浏览器会直接阻断连接并抛出 `NET::ERR_CERT_AUTHORITY_INVALID` 或 `NET::ERR_CERT_COMMON_NAME_INVALID` 等安全警告。造成 SSL 证书不被信任的根本原因,通常在于证书签发源未入库、中间证书(Intermediate CA)缺失、Subject Alternative Name(SAN)扩展不匹配或证书被 CA 吊销。
下面从浏览器信任校验原理、错误代码表及具体故障场景展开现场排查,辅助定位并解决 如何修复SSL证书错误 中的连接信任阻断问题。
常见浏览器 SSL 不受信任错误代码表
当 TLS 握手校验失败时,不同内核的浏览器会直接展示特定错误代码。下表总结了最常见的报错代码、对应诱因及修复方向:
| 浏览器错误代码 / 提示 | 核心诱因 | 排查与修复方向 |
|---|---|---|
NET::ERR_CERT_AUTHORITY_INVALID | 根证书不受信任或服务端缺少中间证书链 | 上传受信任 CA 签发的证书,或在服务端补齐中级证书链。 |
NET::ERR_CERT_COMMON_NAME_INVALID | 请求域名未列入证书的 SAN 扩展字段中 | 重新申请包含当前访问域名的单域名、多域名或通配符证书。 |
NET::ERR_CERT_DATE_INVALID | 证书已过有效期或客户端本地系统时间偏差 | 校准客户端系统时间;若证书已到期,需发起续签或重新部署。 |
SEC_ERROR_UNKNOWN_ISSUER (Firefox) | Firefox NSS 内置信任库无法识别证书签发机构 | 检查是否使用私有 CA 或自签名证书,补充完整中间证书。 |
NET::ERR_CERT_REVOKED | 证书私钥泄露或主动申请后被 CA 吊销 | 重新生成密钥对并向 CA 申请签发新证书,替换服务器端文件。 |
有关不同验证级别对域名的覆盖能力,可以通过 SSL证书类型怎么分? 进行核对。
浏览器验证 SSL 证书的核心机制
客户端在 HTTPS 通信中验证 SSL/TLS 证书时,严格遵循以下链路:
- 根证书库比对:比对操作系统或浏览器维护的受信任根证书库(Trust Store)。如 Windows / macOS / iOS 系统根库,或 Firefox NSS 独立根库。
- 信任链构建:根据服务器返回的中间证书(Intermediate CA),向上追踪并构建一条通往受信任根证书的无断点信任链(Certificate Chain)。
- SAN 域名匹配:严格校验
Subject Alternative Name (SAN)扩展字段,确认请求的主机名(如[www.example.com](https://www.example.com))是否在授权列表中。现代浏览器已不再将Common Name (CN)作为安全校验凭据。 - 吊销状态检查:通过 CRL 或 OCSP 查询证书序列号,确认凭据未被 CA 宣布失效。

导致 SSL 证书不被信任的核心原因与解决方法
1. 使用了自签名证书或不受信任的私有 CA
通过 OpenSSL 自行生成的自签名证书,其公钥并未预装在公共操作系统的受信任根证书库中。
- 解决方案:生产环境必须使用通过 WebTrust 国际认证的公有 CA 签发的证书。
2. 中级证书链(Intermediate Certificate)配置缺失
公共 CA 机构不会直接使用根证书签发终端域名证书,而是使用中级 CA 进行二级签发。若 Web 服务仅配置了终端域名证书而未包含中间证书,会导致校验中断。
- 排查与修复:使用 OpenSSL 在终端检查链条:
openssl s_client -connect example.com:443 -servername example.com
若返回 unable to get local issuer certificate,需将中间证书内容合并追加至域名证书文件后,重新加载 Web 服务。具体的打包格式可查阅 怎么安装SSL证书?。
3. SAN 扩展未覆盖访问域名
若申请证书时仅填报了 example.com,而用户访问 [www.example.com](https://www.example.com) 或其他子域名,就会因 SAN 不匹配而被判定为无效。如果需要覆盖多个子域名,通常需要在服务器上部署通配符或多域名证书,或者申请 免费SSL证书 完成多子域名的灵活绑定。
排查总结
解决 SSL 证书不受信任,关键在于确认服务端是否正确提供了完整的证书信任链,并确保域名完整列入 SAN 列表。排查时应优先通过 OpenSSL 命令行检查物理返回,避免浏览器本地缓存造成误判。
常见问题
为什么同一个网站,电脑端能打开,移动端(手机)却提示证书不受信任?
这种情况绝大多数是因为服务器配置漏掉了中间证书。部分桌面环境可能会通过缓存或 AIA 机制补充缺失的中级证书,但移动端及大部分严格校验环境通常不会主动补全,因此服务器必须在配置文件中完整绑定证书链。
我购买的是 1 年期 SSL 证书,为什么下载安装后显示的有效期只有 180 多天(或 6 个月左右)?
这不是证书时间给少了,而是由于全球 SSL/TLS 证书行业规范对单张证书最大有效期的严格限制。需要强调的是:购买 1 年 SSL 证书”代表的是获得 1 年的证书服务周期,并不等于“一次签发一张 365 天有效期的证书”。
目前 CA 机构普遍采用分两次签发的机制:首次签发一张约 180–200 天(约 6 个月)的证书,当使用到第 5 个月左右时,用户需要在控制台免费触发一次“重签/自动续期”,CA 机构会接着签发剩余时间的证书。整个服务期累计依然是完整的 365 天,时长不会受到任何损失。
遇到 ERR_CERT_AUTHORITY_INVALID 错误,可以直接点击“继续访问”忽略吗?
不建议。该报错意味着加密通道的身份校验已经失效,此时传输的数据极易受到中间人攻击或流量劫持。如果是生产环境站点,应立即排查中级证书链或替换受信任 CA 签发的正式证书。
网站配置了 CDN,为什么访问时依然提示证书域名不匹配?
在使用 CDN 或高防 IP 时,HTTPS 校验会发生在 CDN 的边缘节点上。必须登录 CDN 服务商控制台,在 HTTPS 设置中同步上传并绑定匹配的 SSL 证书,仅在源站服务器配置证书是无法生效的。



京公网安备11010502031690号
网站经营企业工商营业执照
















