我正试图从asp.net客户端获得一个宁静的服务。我正在制作Web请求并设置代理和其他参数。 Web服务器将只接受安全的密码套件集,基本上是最新的OpenSSL补丁版本。
这是代码:
//string acadiaPath = "https://Test/AP/get?v=1&sk=0";
//string User = "****";
//string Pword = "******";
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
System.Net.WebRequest request = System.Net.HttpWebRequest.Create(acadiaPath);
request.Method = "GET";
request.UseDefaultCredentials = true;
request.ContentLength = 0;
Uri newUri = new Uri(proxyAddress);
myProxy.Address = newUri;
myProxy.Credentials = CredentialCache.DefaultCredentials;
request.Proxy = myProxy;
request.Credentials = new NetworkCredential(acadiaUser, acadiaPword);
System.Net.HttpWebResponse response = request.GetResponse() as System.Net.HttpWebResponse;
Stream objResponseStream = response.GetResponseStream();
StreamReader reader = new StreamReader(objResponseStream);
string objResponseString = reader.ReadToEnd();
MessageBox.Show(objResponseStream.ToString());
但是没有通过以下错误:
“基础连接已关闭:发送时发生意外错误。”
原因是:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
这不提供TSL1.2,因为我的客户端代码是4.0。
如果不从我的c#代码升级到4.5,我如何使用TSL1.2。我的意思是使用4.5提供的system.net DLL或任何其他东西
任何建议?