curl: (60) SSL: no alternative certificate subject name matches target host name 'elasticsearch-0.elasticsearch'
即使 SAN 明显占优,Curl 仍会返回DNS:elasticsearch, DNS:*.elasticsearch
维基百科https://en.wikipedia.org/wiki/Wildcard_certificate指出顶级域名不允许使用通配符,*.com
但并未提供证明
我查看了 RFC 6125、RFC 2818 和 RFC 2459,但也没有找到证据
答案1
证书旨在识别单个管理实体。对于公共顶级域名,*.com 等域名没有单个管理实体,只有 *.example.com 或甚至更多级别,如 *.co.uk。必要的级别可以从公共后缀列表这正是浏览器通常所做的,以确定通配符证书的最低级别。
对于私人使用的顶级域名,当然没有这样的列表,因为任何人都可以想出这些。因此,浏览器会回到公共域名所见的通用最低级别。
请注意,虽然 RFC 6125 没有明确解决这个问题,但勘误表至少承认这一点:
RFC6125 错误:通配符证书检查缺少所呈现标识符中有多少个标签的规范
...
可能该方法需要由“SHOULD”声明和一些关于如何“在呈现的标识符上匹配通配符,如果通配符右侧的标签少于 N(?),则当 N 趋近于零时,风险会增加,并且实施者可能应该考虑利用一些可用的公共后缀识别机制,但这些机制超出了范围,并且有自己的操作和安全考虑。”