.net framework 2.0不会直接支持TLS1.2,这个时候就需要做特殊的处理。于是查看资料,发现直接将SecurityProtocol指定值可以解决这个问题。4080=48(ssl3)+ 192(TLS) + 768(TLS11) + 3072(TLS12),也就是说,将SecurityProtocol赋值为4080,那么就可以支持安全协议SSL3,TLS,TLS1.1,TLS1.2。
ServicePointManager.SecurityProtocol = (SecurityProtocolType)4080;
在本机测试的时候是可以的,但是在其他的机器上,发现"不支持请求的安全协议"的错误。然后我下载了一个安装包,安装完成之后就支持了。具体的参考连接如下:
这个连接中说明了TLS 系统默认版本.NET Framework 3.5.1 Windows 7 SP1 和 Server 2008 R2 SP1 中包含的支持,我是win7的系统,我安装了"基于x64的软件包"。