You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenSSL 1.1.1K通配符主机名校验失败问题咨询

通配符主机名校验的理解误区解析

你的问题核心是搞反了OpenSSL主机名校验的匹配方向:

  • OpenSSL的-checkhost参数是用你指定的主机名,去匹配证书中包含的DNS条目,而不是让证书里的DNS条目去匹配你指定的通配符规则。

你当前的证书DNS条目是maps.example.com,所以:

  • 当指定maps.example.com作为校验主机名时,证书里有完全匹配的条目,校验成功;
  • 当指定*.example.com作为校验主机名时,证书里根本没有这个通配符条目,自然匹配失败。

正确的通配符校验逻辑

如果想让证书能匹配所有example.com的一级子域名(比如maps.example.com、mail.example.com),你需要生成包含*.example.com这个DNS条目的证书。此时:

  • 用maps.example.com作为校验主机名,会匹配证书里的*.example.com通配符条目,校验成功;
  • 用*.example.com作为校验主机名,因为证书里有这个条目,也会校验成功。

补充OpenSSL通配符匹配规则

  • 通配符只能出现在DNS条目的最左侧标签,比如*.example.com合法,maps.*.com不合法;
  • *.example.com仅匹配xxx.example.com这类一级子域名,不匹配example.com本身,也不匹配xxx.yyy.example.com这类多级子域名。

验证示例(假设证书包含*.example.com)

% openssl x509 -noout -in client-cert.pem -ext subjectAltName
X509v3 Subject Alternative Name:
    DNS:*.example.com

% openssl x509 -noout -in client-cert.pem -checkhost maps.example.com
Hostname maps.example.com does match certificate

% openssl x509 -noout -in client-cert.pem -checkhost '*.example.com'
Hostname *.example.com does match certificate

内容的提问来源于stack exchange,提问作者Vikyboss

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 20:39:58