故障排除2026-08-15•4 分钟阅读
自签名证书:浏览器与应用中的信任错误
· CSR.plus 团队

- •自签名证书自己就是根——在您安装它之前,没有东西信任它。
- •自签名证书只用于本地开发和内部测试;真正的内部服务请使用私有 CA。
- •把证书加入一个信任库(浏览器)并不能修复 curl、Java、Python 或移动应用。
自身
信任模型
证书就是自己的根
开发/测试
适用场景
localhost 与暂存
私有 CA
更好选择
真正的内部服务
多个
需要更新的库
浏览器、OS、curl、Java、应用
为什么信任错误是预期行为
自签名证书声明自己为根。每个客户端(浏览器、curl、Java、Python、移动应用)都会对照自己的信任库验证,找不到匹配,然后以信任错误失败。这是正确行为——目标是让正确的客户端信任正确的证书,而不是禁用检查。
正确安装证书
导出证书 PEM,然后安装到每个连接的信任库:OS 钥匙串(macOS/Linux/Windows)供浏览器使用;curl 的 CA 包(-cacert 文件或 SSL_CERT_FILE);Java 的 cacerts(keytool);Python 的 SSL_CERT_FILE 或 requests 的 verify 参数;以及任何移动应用的信任库。安装后重启客户端。
更好的替代方案:私有 CA
对于真正的内部服务,生成私有 CA,只在客户端信任库中安装 CA 根,并由它签发短期叶子证书。客户端无需逐主机安装即可信任每个内部服务,同时避免禁用证书验证(curl -k、verify=False)带来的安全降级。
FAQ
使用 curl -k 或 verify=False 可以吗?
只适用于一次性本地测试。禁用验证会让您暴露于中间人攻击。任何持久场景都应安装证书或使用私有 CA。
为什么浏览器信任但应用失败?
浏览器使用 OS 钥匙串;应用自带信任逻辑。请将证书安装到客户端实际读取的每个信任库。
UptimeRobot
免费监控你的 SSL 与在线状态
UptimeRobot 全天候监视你的证书与端点——免费方案含 50 个监控。
联盟链接——你无需多付任何费用,我们可能获得佣金。
免费 SSL/TLS 工具
数秒内验证并检查你的证书。