RemoteCertificateValidationCallback方法中的RemoteCertificateNameMismatch,同时使用ssl启用的配置连接SMPT服务器

时间:2017-12-08 16:10:21

标签: ssl smtp smtpclient

全部,

SMPT通信无法使用已启用的SSL配置。

我通过SMTP发送电子邮件,它工作正常。但是当我启用SSL并且之后它无法工作并且在RemoteCertificateValidationCallback(回调方法)中出现错误并且描述是 - RemoteCertificateNameMismatch和证书链错误。

所以我通过在RemoteCertificateValidationCallback中返回True来绕过此错误,但我们知道不建议在生产环境中使用。

然后我使用OPENSSL命令从SMPT服务器(对于PORT 25)下载了SSL证书,并在受信任的根目录中安装了证书,并将此证书附加到SmtpClient.ClientCertificates中。

以下代码:

* SmtpClient SmtpClient =新的SmtpClient(地址)

SmtpServer.ClientCertificates.Add(clientCert); *

我再次测试了代码,有趣的是我的第二个错误消失了,只得到了第一个错误,即RemoteCertificateValidationCallback块中的RemoteCertificateNameMismatch。 能帮到我吗?

先谢谢。

此致 阿都

1 个答案:

答案 0 :(得分:0)

我得到了解决方案并感谢MSDN:)

我已将SMTP服务器名称更改为证书名称(在证书中称为CN属性),并且它正在运行。

此致 阿都