我是否需要在ASP .NET 4.6应用程序中强制使用TLS 1.2?

时间:2017-04-18 10:43:13

标签: c# asp.net tls1.2 .net-4.6

我们有一个第三方API,很快就会强制使用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?

1 个答案:

答案 0 :(得分:6)

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