自从我们的电子邮件提供商更改了他们的 SSL 证书后,基于 Mono 的 POP3 客户端拒绝连接到他们的安全 POP 服务器来下载电子邮件。其他客户没有问题;例如 Thunderbird 和 Outlook;除了这个之外,大多数能够检查奇数端口的 SSL 检查器站点也没有。我一直在与这两个提供商合作以试图查明问题,但最终都走到了死胡同,因为我对 SSL 证书的了解不够,无法指导任一提供商了解故障所在。
在调查过程中,我注意到以下两个命令的输出差异(为了可读性,我已从输出中删除了证书):
echo "" | openssl s_client -showcerts -connect pop.gmail.com:995
已连接(00000003) depth=2 /C=US/O=GeoTrust Inc./CN=GeoTrust Global CA 验证错误:num=20:无法获得本地颁发者证书 验证返回:0 --- 证书链 0 秒:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=pop.gmail.com i:/C=US/O=Google Inc/CN=Google Internet Authority G2 -----开始认证----- -----结束证书----- 1 s:/C=US/O=Google Inc/CN=Google Internet Authority G2 i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA -----开始认证----- -----结束证书----- 2 秒:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA i:/C=US/O=Equifax/OU=Equifax 安全证书颁发机构 -----开始认证----- -----结束证书----- --- 服务器证书 subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=pop.gmail.com issuer=/C=US/O=Google Inc/CN=Google Internet Authority G2 …