我的应用程序(.net 3.5 sp1)使用HttpWebRequest与不同的端点进行通信,有时它使用HTTPS,其中每个托管服务器可能具有不同的安全协议要求,例如TLS或SSL3或其中之一.
通常,服务器可以很好地和愉快地协商/回退SecurityProtocol使用TLS或SSL3,但有些则没有,当.net被设置为TLS或SSL3(我认为默认)那些仅支持SSL3的服务器会导致.net抛出发送错误.
据我所知,.net为ServicePointManager对象提供了一个属性SecurityProtocol,可以将其设置为TLS,SSL3或两者.因此理想情况下,当设置为两个想法是客户端和服务器应该协商使用什么,但如前所述似乎不起作用.
据说你可以设置ServicePointManager.SecurityProtocol = Ssl3但是那些想要使用TLS的端点呢?
我在ServicePointManager和SecurityProtocol中看到的问题是它的静态和应用程序域范围.
那么问题..
我将如何使用不同的SecurityProtocol来使用HttpWebRequest,例如
1)url 1设置为使用TLS | Ssl3(谈判)
2)url 2设置为Ssl3(仅限Ssl3)