当我打开https://amazon.com在 Firefox 中,我收到“不受信任的连接”消息,因为 amazon.com 提供的 SSL 证书仅对 www.amazon.com 有效。为什么当我使用 SSL 打开 google.com 时没有收到相同的消息?
据我了解
openssl s_client -connect google.com:443 | openssl x509 -noout -text
google.com 颁发的证书使用 www.google.com 作为通用名称,不包含任何主题替代名称或通配符。我这里遗漏了什么?
答案1
您的命令行不正确。浏览器发送服务器名称指示扩展以让服务器使用正确的证书。如果您在这种情况下这样做:
$ openssl s_client -服务器名称 google.com -connect google.com:443 | openssl x509 -noout -text
您将获得一个带有 google.com 的主题备用名称 (SAN) 的证书。
(相反,如果您在 Windows XP 上使用 IE,它不会发送 SNI 扩展,您将获得默认证书。)
答案2
该证书颁发给 *.google.com,这意味着它对任何前缀都有效。
答案3
一些发行机构允许您将 SSL 证书与您的 www.domain.com 和基本域一起使用 - 而无需向您收取更多费用,这样您就可以保护 www.domain.com 和 domain.com
http://nayyeri.net/ssl-certificates-and-www-prefix-on-domain-names
另一方面,由于我被重定向自https://google.com到http://www.google.com我无法检查 SSL 是否是通配符,但我猜测这是一个本地问题。
答案4
证书具有通常的通用名称 (CN),其中可能包含通配符,有时可以有明确定义的替代方案,甚至可以通过主题备用名称使用完全不同的域