希望这是正确的方法。如果不是,请指导我正确的方法。
我现在正在和一个客户端合作,我需要知道他们的SSL证书是否支持通配符域。 他们身边的工程师并不知道答案,恐怕要花太长时间才能知道。
有没有一种方法来知道这个或不是基于浏览器中可查看的证书?
SSL证书绑定到一个域名 – 所以只要检查证书,如果列出的域名是* .domain.com,那么它是一个通配符 – 如果域是domain.com那么它是特定于该域。
这可以通过检查SSL主题中的通用名称来完成。 您可以在* NIX客户端上使用bash命令openssl 。
例如,google.com和www.google.com使用两个不同的SSL。 第一个是通配符,第二个是域特定的。
$ echo | openssl s_client -connect google.com:443 2>/dev/null | openssl x509 -noout -subject | grep -o "CN=.*" | cut -c 4- *.google.com $ echo | openssl s_client -connect www.google.com:443 2>/dev/null | openssl x509 -noout -subject | grep -o "CN=.*" | cut -c 4- www.google.com