687 字
3 分钟
HTTPS 如何校验证书
  1. 1计算机网络学习路线与文章导读
  2. 2网络分层模型与数据封装是怎么回事
  3. 3TCP/IP 四层模型与 OSI 七层模型
  4. 4IP 地址与 CIDR 子网怎么理解
  5. 5ARP 是什么?主机如何找到目标 MAC 地址
  6. 6IP 路由与默认网关是如何工作的
  7. 7TCP 和 UDP 有什么区别?如何选择
  8. 8TCP 握手、挥手和丢包重传分别解决什么问题
  9. 9TCP 三次握手与四次挥手
  10. 10TCP 流量控制和拥塞控制有什么区别
  11. 11TCP 为什么可靠:流量控制、拥塞控制与局限性
  12. 12TCP 丢包、粘包和拆包是什么
  13. 13HTTP/1.0、HTTP/1.1、HTTP/2 与 HTTP/3 有什么区别
  14. 14HTTP 请求包含哪些内容
  15. 15HTTP 中 GET 和 POST 有什么区别
  16. 16HTTP 方法的安全性与幂等性怎么区分
  17. 17HTTP 状态码与网络故障如何区分排查
  18. 18常见 HTTP 状态码与网站故障排查
  19. 19HTTP 和 HTTPS 有什么区别
  20. 20谈谈对 DNS 和 CDN 的理解
  21. 21从输入网址到网页显示发生了什么
  22. 22TCP 的 TIME_WAIT 状态有什么作用
  23. 23TCP 的 CLOSE_WAIT 状态是什么,过多如何排查
  24. 24TLS 1.3 握手过程是什么
  25. 25HTTPS 如何校验证书本文
  26. 26HTTP 强缓存和协商缓存怎么工作
  27. 27HTTP Keep-Alive 是什么,连接如何复用
  28. 28WebSocket 和 HTTP 有什么区别
  29. 29服务端如何解析 HTTP 请求的数据
  30. 30NAT 是什么?端口映射如何实现
  31. 31ICMP、ping 和 traceroute 分别做什么
  32. 32网络故障如何分层排查
  33. 33Cookie、Session、Token 与 JWT 有什么区别
  34. 34常见的登录鉴权方式有哪些
  35. 35什么是 SYN Flood 攻击

HTTPS 客户端校验证书,是为了确认对端持有与目标域名相符的身份凭证,降低中间人冒充风险。常见检查包括:证书是否在有效期内;证书中的 DNS 名称是否匹配访问主机名;证书链能否逐级验证到客户端信任的根 CA;用途、签名算法和约束是否符合客户端策略。具体策略随操作系统、浏览器和应用运行时而异。

服务端通常发送叶子证书和必要的中间证书。客户端本地预置或由企业策略提供信任根,验证链上签名和约束。证书文件里包含公钥、主体名称、颁发者、有效期等信息;证书本身不加密 HTTP 内容,也不保证网站业务可信。TLS 握手还会验证服务端确实掌握对应私钥。

常见失败包括域名不匹配、过期、系统时间错误、缺少中间证书、根 CA 不受信任或证书被策略拒绝。生产环境不应为了“修复”问题而关闭校验;应修正证书部署和客户端信任配置。证书吊销状态的检查方式与覆盖程度也因客户端生态而异,不能假设所有客户端都实时采用同一种检查。

部署时要确保访问域名包含在证书的 Subject Alternative Name(SAN)中,并正确发送中间证书。通配符证书的匹配范围有规则限制,不应假定一个证书可以覆盖任意多级子域名。自动续期应监控剩余有效期并验证线上实际加载的证书,避免磁盘证书已更新但服务仍使用旧证书。

常见追问#

证书链为什么需要中间 CA?#

根 CA 可离线保护并签发中间 CA,中间 CA 再签发站点证书。客户端逐级验证签名和约束,减少根密钥直接暴露的风险。

证书过期会怎样?#

严格校验的客户端通常拒绝连接并提示证书错误。应续期并部署完整链,同时检查服务器时钟和自动续期流程。

HTTPS 有锁标志代表内容可信么?#

它表示浏览器认为当前连接满足其安全连接校验,并不证明页面内容可靠、网站无恶意或业务信息真实。

自签名证书可以使用吗?#

可以用于受控测试或内部环境,但客户端必须通过可信渠道安装信任。公开服务若让普通用户自行忽略警告,会削弱身份验证保护。

HTTPS 如何校验证书
https://blog.xqcherry.top/posts/interview/network/tls-certificate-validation/
作者
xqcherry
发布于
2026-10-12
许可协议
CC BY-NC-SA 4.0