如何创建使用Ssl3而不是Tls的SSLStream

时间:2014-07-10 12:43:11

标签: c# ssl tcpclient sslstream

我试图建立使用Ssl3加密的tcp连接。

基本上我只是创建TCP连接,而不是在此基础上创建SSLStream:

var ss = new SslStream(poolItem.SecureConnection, false, remoteCertificateValidationCallback);

ss.ReadTimeout = ss.WriteTimeout = timeout;

ss.AuthenticateAsClient(host);

var pp = ss.SslProtocol;

我的问题是默认情况下SslStream使用TLS。我希望它是Ssl3。

在HttpWebRequest中,您可以使用以下代码来更改协议:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;

我检查了它,它并没有影响SslStream。

如何将SslStream的协议更改为Ssl3?

1 个答案:

答案 0 :(得分:1)

您只需使用AuthenticateAsClient重载,即可指定应允许的协议:

AuthenticateAsClient
  (host, new X509CertificateCollection(), SslProtocols.Ssl3, false);