SSL / TLS / 证书

证书主机名匹配逐行解释匹配原因

输入 SAN 列表或单张 PEM 证书,并按每行一个目标填写主机名或 IP 地址。

证书主机名匹配

SAN 列表或 PEM 证书

目标主机名与 IP 地址

名称覆盖报告

输入仅在当前浏览器处理,不上传证书,也不连接目标主机。

来源与报告选项

SAN 列表使用 DNS:名称、IP:地址或 IP Address:地址;目标每行填写一个裸主机名或 IP。

最多 100 条 SAN、100 个目标,每个输入框 65,536 个字符;结果每次显示 50 行。

仅核对名称覆盖,不回退 CN,不验证信任、有效期、吊销或公共后缀。

输入已改变,请重新匹配后导出。

遇到域名不匹配时,证书主机名匹配能帮助区分漏配 SAN、通配符层级错误和目标类型错误。证书主题中出现熟悉的域名,并不等于客户端请求的名称被证书覆盖。

示例把成功、未覆盖和非法目标放在同一份报告里。可以看到深层子域与包含协议的 URL 为什么得到不同结论,再决定应该修改证书内容还是修正输入。

为什么使用证书主机名匹配

看清星号只覆盖哪一层

证书主机名匹配将 *.example.com 解释为恰好一层非空标签:api.example.com 可以命中,example.com 和 deep.api.example.com 不会命中这个星号。额外的精确 SAN 仍可分别覆盖它们。

通配符连接到带对勾的一层子域,根域和更深子域旁标有叉号

DNS 名称与 IP 地址分开比较

DNS:192.0.2.1 不能代替 IP:192.0.2.1。IP 地址证书必须含相应类型的 SAN;国际化域名目标则先转成 ASCII 形式,结果同时展示实际参与比较的名称。

域名身份经过规范化,IP 身份沿另一条路径比较相等,跨类型连接被拒绝

先确认类型,再看匹配结果

01

明确选择输入来源

SAN 检查接受带 DNS:、IP: 或 IP Address: 前缀的项目,以换行或逗号分隔。PEM 模式只接受一个完整证书区块。

  • 切换输入模式会保留各自内容;证书链不会自动选第一张。
02

核对规范化后的目标

目标只填裸主机名或裸 IP,不带协议、端口、路径、括号或 IPv6 区域标识。DNS 目标末尾的一个点会在比较时移除。

  • Unicode 目标按 UTS #46 非过渡规则转换;证书中的 DNS SAN 必须已经是 ASCII A-label。
03

只导出当前结果

自动匹配会等待输入停顿 350 ms;关闭后显示匹配按钮,也可按 Ctrl/Cmd + Enter。输入改变后导出立即禁用。

  • 页面每次显示 50 行,JSON 和 CSV 导出包含全部目标,包括标为非法的行。

为每个目标保留核对依据

批量诊断保留原行号

每行记录原始目标、规范化名称、匹配状态与原因代码。成功时还显示命中的 SAN;重复目标不会被悄悄去重,便于与原清单逐行核对。

按地址值核对 IPv6

IPv6 的压缩与展开写法可以表示同一地址。IPv4 映射 IPv6 仍保持 IPv6 类型,不会与四字节 IPv4 SAN 混为一谈;不支持地址通配符或网段覆盖。

便于后续排查的报告

JSON 保存解析出的 SAN、忽略类型数量和完整结果。CSV 提供固定字段名与原因代码,正确转义引号,并为可能被表格软件当作公式的单元格加保护性单引号。

名称覆盖的规则与边界

名称相同不代表证书可信
不验证签名、信任链、有效期、吊销、TLS 配置或网站可用性。自签或过期证书也可能名称匹配,报告不会把这种结果称作证书安全。
只比较 DNS 和 IP SAN
不回退到 Common Name。证书中的 URI、邮箱、SRV 等类型只计入忽略数量;没有可用 DNS 或 IP SAN 时,即使 CN 相同也不会得到覆盖结果。
不替用户修补 SAN
DNS SAN 只接受 ASCII,不允许末尾点;星号只能完整占据最左标签。Unicode SAN、部分星号或错误 IP 会阻止整批运行。这是输入诊断策略,比忽略坏条目的客户端更严格。
限制清楚,坏行可定位
每个活动输入框最多 65,536 个 UTF-16 代码单元;最多 100 条 SAN 和 100 个非空目标。忽略空行,非法目标单独保留诊断,非法来源则阻止导出。
不判断公共后缀和签发政策
*.com 等模式仅按这里列出的名称规则比较,命中不代表 CA 可以签发。本工具没有公共后缀列表、浏览器兼容性模拟或 DNS 查询。
一次处理一张证书
不接收证书链、CSR、DER 文件、私钥或在线 URL。示例和清空先展示替换预览与数量,应用后可撤销一次,同时恢复输入与结果。

证书主机名匹配常见问题

通配符证书可以覆盖哪些域名?

*.example.com 可以匹配 www.example.com 或 api.example.com,只替代最左侧的一层非空标签。它不会覆盖更深的 a.b.example.com;部分星号和多个星号会作为错误 SAN 拒绝。

已经有 Common Name,为什么还需要 SAN?

现代服务身份核对使用 SAN 中的类型化名称。本工具只把 DNS SAN 用于域名、IP SAN 用于地址,不把主题里的 Common Name 当成补充候选。旧客户端的兼容行为不在模拟范围内。

为什么证书与域名不匹配?

可能是目标没有出现在 SAN 中、星号层级不符,或 IP 被写成 DNS 类型。先看规范化目标及逐行原因,再核对实际配置;本工具不能判断服务器当前发送的是不是你粘贴的这张证书。

通配符证书也覆盖根域名吗?

单独的 *.example.com 不覆盖 example.com。要覆盖根域名,需要另有 DNS:example.com;分别输入两个目标可以检查是否遗漏。

IP 地址的 SAN 可以用通配符吗?

不可以。IP SAN 表示一个精确 IPv4 或 IPv6 地址,例如 IP:192.0.2.1。IP:192.0.2.* 不合法,DNS:192.0.2.1 也不能代替正确的 IP 类型。

还有疑问?

核对名称后再调整配置

将客户端真正请求的主机名放入证书主机名匹配,核对命中的 SAN 与原因,保存报告后再调整证书或服务入口。