我有一个C#Web应用程序,其中引用了许多项目。
根网站项目设置为4.7.1框架版本
在其中一个子项目中(使用WebRequest.Create()发出Web请求),该项目也设置为4.7.1
据我了解,从4.6版开始,任何版本都使用Tls 1.2,但是当我运行该项目时,
ServicePointManager.SecurityProtocol
解析为Ssl3
此应用程序托管在Azure中,不确定是否有影响
那么,什么设置决定要使用哪个TLS?这仅在我们启用TLS 1.2的VM中有效,而在Azure中不起作用
答案 0 :(得分:0)
只需在应用程序启动期间或发出任何请求之前设置SecurityProtocol
属性:
const SecurityProtocolType tlsOnly = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12
ServicePointManager.SecurityProtocol = tlsOnly;