2017-04-18 60 views
2

我们有一个第三方API,很快就会强制使用TLS 1.2。我是否需要在我的ASP .NET 4.6应用程序中强制使用TLS 1.2?

我们有两个独立的应用程序连接到这个API,一个控制台应用程序和一个ASP.NET Web应用程序,都用C#编写。

我已将控制台应用程序重新定位到使用也安装到主机上的.NET 4.6。我在Main的顶部添加了这个。

private static void Main(string[] args) 
{ 
    // Enable TLS 1.2 
    ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12; 

    // Disable old protocols 
    ServicePointManager.SecurityProtocol &= ~(SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11); 

    ... 

} 

我相信这对控制台应用程序来说足够了,因为它只有这一个入口点。

但是我很困惑我需要为ASP.NET Web应用程序做什么。

首先它由3个项目组成。其中两个分别是框架和服务层的类库,第三个是用于UI的ASP Web应用程序。我已经完成了其中的每一个,并将它们针对.NET 4.6。
从我读过的这听起来像所有我需要做的,因为最高协议将默认协商。

我正确吗?

如果我错了,我应该在控制台应用程序中添加相同的行吗? Global.asax中?

+0

是否在IIS中托管? –

+0

@ DanielA.White是的,IIS 8.5。 – Equalsk

+0

这就是你要配置它的地方。 –

回答

4

由于ServicePointManager.SecurityProtocolstatic,所以只需为每个应用程序配置一次。这意味着将代码放入Application_Start事件就足够了。

相关问题