IMAP服务器-SslStream AuthenticateAsClient-身份验证失败,因为远程方已关闭传输流

时间:2018-08-30 09:33:06

标签: c#

因此,我将TcpClient连接请求发送到mail.mysupplyworld.com:993,并且连接正常,然后我获得了TcpClients NetworkStream并将其包装到SslStream。

一切正常,除非我尝试对它进行SslStream.AuthenticateAsClient。 它立即响应:身份验证失败,因为远程方已关闭传输流。

从这里的其他答案看来,所使用的SSL协议似乎是一个问题,但是在我的代码中,我使用4.7.1中可用的所有协议来实现它,但它仍然存在

例如,我使用:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.SystemDefault;

以及AuthenticateAsClient:

((SslStream)_tcpClientNetworkStream).AuthenticateAsClient(hostname, new X509CertificateCollection(), SslProtocols.Ssl2 | SslProtocols.Ssl3 | SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12, false);

但是它仍然失败。 你们中的任何人都可以使用我上面使用的设置连接到它吗?

代码示例(运行此示例,它应该返回相同的错误):

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.SystemDefault;    
((SslStream)new TcpClient("mail.mysupplyworld.com", 993).GetStream()).AuthenticateAsClient("mail.mysupplyworld.com", new X509CertificateCollection(), SslProtocols.Ssl2 | SslProtocols.Ssl3 | SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12, false)

这将返回AuthenticateAsClient错误。 请注意,该代码块同样适用于其他IMAP邮件服务器

0 个答案:

没有答案