Tot*_*tor 5 firefox gmail google-chrome certificate ssl
看起来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
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
请注意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
)发出另一个请求。这对这个问题来说并不重要,但它确实让发现重定向变得有点困难 - 您需要先清除缓存或打开一个隐私浏览窗口。
小智 7
gmail.com 使用了一个很好的证书,但是您要连接的服务器正在使用服务器名称指示在单个地址+端口上运行虚拟主机。为此,客户端必须在 SSL/TLS 协商完成之前告诉服务器它正在寻找的虚拟主机。Firefox 和 Chromium(以及其他类似大小的客户端)会自动执行此操作。
要使用 获得有效证书openssl s_client
,您需要使用该-servername
选项。
openssl s_client -servername gmail.com -connect gmail.com:443
Run Code Online (Sandbox Code Playgroud)
lynx SNI 的Google 搜索结果看起来不太好。
归档时间: |
|
查看次数: |
4602 次 |
最近记录: |