为什么在访问https://google.com时遇到错误?

当我在Firefox中打开https://amazon.com时,由于amazon.com提供的SSL证书仅对www.amazon.com有效,所以我收到“Untrusted Connection”信息。 当我使用SSL打开google.com时,为什么不能得到相同的信息?

据我了解的输出

openssl s_client -connect google.com:443 | openssl x509 -noout -text 

google.com提供的证书使用www.google.com作为通用名称,不包含任何主题替代名称或通配符。 我在这里错过了什么?

你的命令行不正确。 浏览器发送服务器名称指示扩展名,让服务器使用正确的证书。 如果你这样做的话:

$ openssl s_client -servername google.com -connect google.com:443 | openssl x509 -noout -text

您将获得一个带有主题备用名称(SAN)的证书,适用于google.com。

(相反,如果您在Windows XP上使用IE,而不发送SNI扩展名,则会得到默authentication书。)

该证书颁发给* .google.com,这意味着它是有效的任何前缀。

一些发卡机构让您使用您的www.domain.com和基本域的SSL证书 – 不收取更多的钱,这样你就可以保护www.domain.com和domain.com

http://nayyeri.net/ssl-certificates-and-www-prefix-on-domain-names

另一方面,由于我正在从https://google.comredirect到http://www.google.com,我无法检查SSL是否是通配符,但我想这是本地的事情。

证书具有通常的通用名(CN),通用名(CN)可以包括通配符,并且有时可以具有明确定义的替代scheme,甚至完全不同的域可以通过使用替代名称