您引用的消息的意思是:“我想与一个名为的服务器交谈talk.google.com
,但那里的响应似乎使用了一个包含名称的证书gmail.com
,而不是 talk.google.com
”。这意味着以下任何一个都是正确的:
- 一些不怀好意的第三方正在积极地将您的连接重定向到错误的服务器,可能是由于 DNS 中毒;
- 您的 ISP 发生的一些事故意味着 DNS 配置错误,它模拟了 DNS 中毒的影响,将您的连接尝试重定向到错误的服务器;
- Google 不知道如何做 SSL;
- 您的 Pidgin 配置中有问题。
从这里连接到端口 443talk.google.com
会生成包含名称的服务器证书:subject=/C=US/ST=California/L=Mountain View/O=Google Inc./CN=talk.google.com
,这是正确的。
请注意,众所周知,Google 会玩弄 DNS。在我的家用机器上,talk.google.com
解析为 的别名talk.l.google.com
,其 IP 为 74.125.113.125。来自另一个大陆的另一台机器,talk.google.com
被解析为 的别名talk.l.google.com
,这次的 IP 为 209.85.147.125。这里显然有某种全球负载平衡在起作用。
底线:你不能“自己”检查证书是否好坏,也许可以通过打电话给谷歌总部并让他们拼出证书指纹(他们可能会同意;有传言说他们重视这种幽默) )。实际上,您收到的消息非常明确地表明您没有获得正确的证书,因此您最好将该消息用作症状并调查您是否确实连接到了正确的服务器。我建议尝试使用Wireshark查看 Pidgin 实际连接的服务器,以及 SSL 级别发生的情况。