【发布时间】:2017-10-03 15:04:20
【问题描述】:
我在 .net-2.0 中使用 System::Net::Mail::SmtpClient 通过带有 SSL/TLS 的 gmail SMTP 发送电子邮件,截至上周五,这已经开始偶尔失败。我的开发机器没有这些问题,只有我们的产品使用的 Windows XP 嵌入式系统。
感谢MSDN,我已将问题范围缩小到PartialChain 错误。此嵌入式系统上的许多证书已过期。嵌入式系统禁用了“添加/删除 Windows 组件”,因此我无法设置 Windows 来更新证书。因此,我尝试使用openssl s_client -connect smtp.gmail.com:465 -showcerts 直接使用openSSL 的输出更新证书,那里有两个证书,我已将它们复制并粘贴到文本文件中,将文件重命名为.crt,并使用Windows MMC 控制遵循指南here。对于Local Computer 和Certificates - Current User,我尝试将它们导入为Trusted Root Certification Authorities 和Third-Party Root Certification Authorities。我还尝试下载 Geotrust 的根证书,在处理 gmail SMTP 的证书问题时,this stackoverflow 页面中的答案提到了该证书,但它没有解决问题。
【问题讨论】: