【问题标题】:What is the format of wildcard certificate name?通配符证书名称的格式是什么?
【发布时间】:2015-12-07 16:07:23
【问题描述】:
我正在编写 SSL 证书的验证,我想知道带有通配符的证书名称的格式。来自RFC 2818:
名称可能包含通配符 *,它被认为是
匹配任何单个域名组件或组件片段。例如。,
.a.com 匹配 foo.a.com 但不匹配 bar.foo.a.com。 f.com 匹配 foo.com 但不匹配 bar.com。
通配符可以出现在名称的中间吗?我也可以在一个名称中使用其中的几个吗?
hello.*.a.com
*.*.a.com
我知道它可能没有实际用处,但我想知道在技术上什么是可行的。
【问题讨论】:
标签:
ssl
certificate
wildcard
【解决方案1】:
我建议您使用较新的 RFC 6125 而不是 RFC 2818。此 RFC 使通配符处理更加清晰。本质上它的意思是:
- 只有最左边的标签,即
*.example.com,但不是www.*.com。这隐含地排除了多个通配符,例如*.*.example.com。
- 通配符标签只能与单个标签匹配,即
*.example.com 将匹配www.example.com,但不能匹配sub.www.example.com。
- 如果通配符不是完整标签(即
w*.example.com),则不应出现在 IDNA 标签内。
这就是今天在浏览器中实现的内容。除此之外,您还会发现更多限制,例如顶级和二级没有通配符(即没有* 或*.com),有时还有更多限制,例如*.co.uk 没有通配符。
另请参阅CAB Baseline Requirements,第 3.2.2.6 节。