通配符证书名称的格式是什么?
What is the format of wildcard certificate name?
我正在编写 SSL 证书的验证,我想知道带有通配符的证书名称的格式。来自 RFC 2818:
Names may contain the wildcard character * which is considered to
match any single domain name component or component fragment. E.g.,
.a.com matches foo.a.com but not bar.foo.a.com. f.com matches foo.com but not bar.com.
通配符可以出现在名字中间吗?我也可以在一个名字中使用其中的几个吗?
hello.*.a.com
*.*.a.com
我知道它可能没有实际用处,但我想知道技术上可行的是什么。
我建议您使用更新的 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 节。
我正在编写 SSL 证书的验证,我想知道带有通配符的证书名称的格式。来自 RFC 2818:
Names may contain the wildcard character * which is considered to match any single domain name component or component fragment. E.g., .a.com matches foo.a.com but not bar.foo.a.com. f.com matches foo.com but not bar.com.
通配符可以出现在名字中间吗?我也可以在一个名字中使用其中的几个吗?
hello.*.a.com
*.*.a.com
我知道它可能没有实际用处,但我想知道技术上可行的是什么。
我建议您使用更新的 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 节。