我是否需要在我的ASP .NET 4.6应用程序中强制使用TLS 1.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中?
答
由于ServicePointManager.SecurityProtocol
是static
,所以只需为每个应用程序配置一次。这意味着将代码放入Application_Start
事件就足够了。
是否在IIS中托管? –
@ DanielA.White是的,IIS 8.5。 – Equalsk
这就是你要配置它的地方。 –