c# .net 4.0 HttpWebRequest 访问https TLS1.2

用vs2010开发的web应用,部署在 IIS6.0 下,代码中用HttpWebRequest访问https TLS1.2网站,报protocolerror错误。
代码如下:
C# code
...
url="https://login.taobao.com/member/login.jhtml";
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;
request = WebRequest.Create(url) as HttpWebRequest;
request.ProtocolVersion = HttpVersion.Version10;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";

request.UserAgent = "Mozilla/5.0+(Windows+NT+5.1)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/55.0.2883.87+Safari/537.36";

request.GetResponse() as HttpWebResponse
...
private static bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)

{

return true; //总是接受

}

url="https://www.baidu.com" 或者 url="https://www.icbc.com.cn" 不会报错。

同样的代码升级到 vs2012,IIs8.0,.net4.5 还是报同样的错误。

你的网站是否配置好支持的HTTPS的tls协议。

你需要做好tls的配置和认证就可以了

iis启用下tls,参考:https://www.cnblogs.com/haoliansheng/p/8065661.html
检查防火墙是否有协议的禁止

ServicePointManager.SecurityProtocol = (SecurityProtocolType)192 | (SecurityProtocolType)768 | (SecurityProtocolType)3072;这一段多余,去掉试试

可以尝试换个useragent,我测试过你给的地址,不用useragent是可以访问的,我试过其它https网站有个网站无useragent时不可用,增加了useragent的时候就可以访问了
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
这个useragent试试