看起来像https://gmail.com使用针对主机名 的 SSL 证书mail.google.com
。由于 SSL 证书主机名与浏览器 URL 不匹配,为什么这样做有效?我应该收到警告!
我使用 Firefox 和 Chromium 进行了测试(看起来之前没用过)。
我使用以下命令检查了证书:echo | openssl s_client -connect gmail.com:443
结果显示:
Certificate chain
0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com
答案1
答案2
https://gmail.com/
没有使用坏证书。以下是 Fiddler2 截获的当前证书:
== Server Certificate ==========
[Subject]
CN=gmail.com, O=Google Inc, L=Mountain View, S=California, C=US
[Issuer]
CN=Google Internet Authority G2, O=Google Inc, C=US
[Serial Number]
4F4A246099981C2C
[Not Before]
16/07/2014 10:04:37 PM
[Not After]
14/10/2014 11:00:00 AM
[Thumbprint]
8F1065D237732F71CAD350A3FD0089AEEAAB675E
请注意CN=gmail.com
。
HTTP 请求的实际响应类型是301 Moved Permanently
to https://mail.google.com/
。这有两个效果:
浏览器将重定向到目的地,发出新的请求,使用新的隧道(因为域不同)和不同的证书。这就是您看到证书的原因
mail.google.com
- 这是后重定向。如果您查看地址栏,您实际所在的站点是http://mail.google.com/
,而不是http://gmail.com/
。在浏览器中捕获预重定向证书有点困难,这就是我使用 Fiddler2 的原因。浏览器将缓存此重定向并在将来自动执行,永远不会再发出另一个请求
https://gmail.com/
(这就是 的意义所在Moved Permanently
)。这对于这个问题来说并不重要,但它确实使发现重定向变得更加困难 - 您需要先清除缓存或打开隐私浏览窗口。