C#-ServicePointManager.SecurityProtocol还是手动定义协议?

时间:2018-06-28 17:45:28

标签: c#

我的问题是,做ServicePointManager.SecurityProtocol = ...是否会自动更新SslStream.AuthenticateAsClient(here)中的“默认”协议

public virtual void AuthenticateAsClient(string targetHost)
{
    AuthenticateAsClient(targetHost, new X509CertificateCollection(), ServicePointManager.DefaultSslProtocols, false);
}

还是我应该手动喜欢以下内容?

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

上面的一个添加了更多的协议,例如SSL2。

(在此切线中,出于某种原因,当我为特定域创建imap流时,由于某种原因,当我对客户端进行身份验证时,它会冻结,因为它永远不会继续。当我说从不时,我的意思是从不。它持续了HOURS。我想可能是引用了非默认协议,我认为它们是SSL3和TLS1.2,它可能有效,但没有。)

0 个答案:

没有答案