证书体系:DV/OV/EV 证书区别、通配符证书、多 SAN 证书

这一章我们来聊聊证书类型。说实话,很多人在配置 TLS 时只关心「能不能用」,却不清楚不同类型的证书到底差在哪。我过去几年处理过的生产事故里,至少有三成跟证书选型不当有关。嗯,咱们今天就把这事掰开揉碎讲清楚。

核心观点:证书类型决定了浏览器对站点身份的信任程度,也直接影响部署成本和管理复杂度。选错类型,轻则用户看到「不安全」警告,重则 CA 吊销证书。

1. DV / OV / EV 验证级别——信任的三个台阶

为什么同样是 HTTPS,有的网站地址栏出现公司名称,有的只显示一个小锁?答案就在验证级别上。

类型 验证方式 审核内容 颁发速度 地址栏展示 常用场景
DV(Domain Validation) 自动化验证域名所有权 只需证明你控制该域名(DNS / 邮件 / HTTP 文件) 几分钟 仅小锁图标 博客、个人项目、测试环境
OV(Organization Validation) 人工审核企业信息 + 域名 营业执照、企业注册信息、域名所有权 1~3 个工作日 小锁 + 公司名称(部分浏览器) 中小企业官网、电商、API 网关
EV(Extended Validation) 严苛人工审核 + 法律文件 企业合法性、经营地址、电话号码、注册机构确认 3~7 个工作日 绿色地址栏 + 公司名称 银行、支付平台、大型 SaaS

我个人习惯:生产环境对外服务至少用 OV 证书。DV 证书虽然快,但我曾经遇到过客户因为 DV 证书被钓鱼网站模仿域名,导致用户投诉。DV 只验证「你是域名主人」,但不验证「你是合法的公司」。EV 证书现在其实用得少了,因为 Chrome 和 Safari 已经逐步淡化绿色地址栏的展示,但银行类客户仍然坚持用 EV——说白了,这是合规需求,不是技术需求。

小贴士:如果你的 API 接口只对内部服务开放,DV 完全够用。但涉及用户填写信用卡、登录信息的前端页面,我建议至少 OV。别问为什么,问就是用户体验和信任成本。

2. 通配符证书——一张证书管所有子域名

通配符证书的字段像 *.example.com。它能保护同一个主域名下的任意子域名,比如 www.example.com、api.example.com、blog.example.com。但注意,它不保护二级子域名(比如 sub.www.example.com 不在覆盖范围内)。

避坑指南:我曾经帮一家电商公司排障,他们的通配符证书只覆盖了 *.example.com,但内部微服务使用了 *.prod.internal.example.com 的域名。结果每次调用都报证书 CN 不匹配。后来不得不补了一张多 SAN 证书才解决。记住:通配符只覆盖一层深度。

通配符证书的优势很明显:

  • 管理简单:一张证书管所有子域名,不用每新增一个子服务就去申请证书。
  • 降低成本:对于有几十个子域名的站点,比逐个购买单域名证书便宜很多。

但也有坑:

  • 安全风险:如果私钥泄露,所有子域名的 HTTPS 都受影响。我曾在一个客户环境里发现他们把通配符证书的私钥放在了 NFS 共享目录里——嗯,那场安全审计的结果不太好。
  • 灵活性差:某些 CA 要求通配符证书必须在签发时指定所有 SAN,续期时不能随意增加覆盖范围。

3. 多 SAN 证书——一张证书放多个域名

多 SAN 证书(也叫 UCC 证书)的 Subject Alternative Name 字段里可以列出多个域名。比如一张证书同时包含 example.com、www.example.com、cdn.example.net。SAN 是 X.509 标准里早就支持的特性,现代浏览器只认 SAN,不认 CN 了(事实上从 2017 年起 Chrome 就已经废弃了 CN 匹配)。

多 SAN 和通配符的区别?

特性 通配符证书 多 SAN 证书
覆盖模式 模式匹配(* 号) 精确域名列表
域名数量 理论上不限子域名 受限于 CA 允许的条目数(通常 100~250)
跨域 只能同一个主域名 可以包含不同顶级域
私钥泄漏影响 所有子域名 所有 SAN 中域名
典型场景 大规模子域名统一管理 合并多个品牌的域名

我有一次维护一个跨国项目,需要同时保护 asia.example.com、eu.example.com、usa.example.com 三个不同 TLD(虽然主域名一样),通配符证书就不行,因为它只认同一个主域。最后用了一张多 SAN 证书,每个地域的域名都作为 SAN 列进去。注意:多 SAN 证书每次增加域名都需要重新签发,不像通配符那样自动覆盖新增子域名。

实用建议:如果你有 5~10 个不同子域名(且都是同一个主域),我个人倾向用通配符。如果域名跨不同主域(如 example.com + example.org + thirdparty.com),那就必须用多 SAN 证书。还有一种混搭:一张通配符 + 几张多 SAN,各管一段。

4. 证书体系核心结构图

下面这张图把 DV/OV/EV 的验证深度、通配符和多 SAN 的覆盖逻辑串在一起。你可以把它当作决策参考:

证书类型选择决策图 TLS 服务器证书 DV(域名验证) OV(组织验证) EV(扩展验证) 单域名 / 多SAN / 通配符 单域名 / 多SAN / 通配符 仅单域名或有限多SAN 多域名覆盖方案选择 通配符 *.example.com 多SAN 证书(域名列表) 通配符不能跨主域,多SAN可跨域

5. 综合选型建议

你想想看,如果只是给个人博客配 HTTPS,DV 完全可以。但要是面对企业客户产品,我建议至少 OV。至于通配符和多 SAN 怎么选,我列几个判断标准:

  • 所有子域名都在同一个主域下面 → 选通配符,方便省心。
  • 需要跨不同主域(比如公司收购了多个品牌) → 选多 SAN。
  • 内部服务使用长域名(如 *.k8s.internal.company.com) → 注意通配符只能覆盖一层,必要时考虑多 SAN 或者分域管理。
  • 安全性要求极高 → 尽量少用通配符,每个子服务独立证书,或者至少将通配符证书的私钥用 HSM 保护。

最后的提醒:我曾经遇到过一位同事把通配符证书放在一个公共 CI 服务器的共享可写目录里,结果被恶意脚本窃取。第二天整个生产环境的子域名都在被扫描。所以不管你选哪种证书,私钥管理都是命门——嗯,这话我在课程里会反复讲,但希望你一次就能记住。