【发布时间】:2017-09-14 03:55:11
【问题描述】:
我们有一个第三方 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。
根据我的阅读,这听起来像是我需要做的所有事情,因为默认情况下将协商最高协议。
我说的对吗?
如果我错了,我应该在哪里从控制台应用程序中添加相同的行?全球.asax?
【问题讨论】:
-
它是否托管在 IIS 中?
-
@DanielA.White 是的,IIS 8.5。
-
这是您配置它的地方。
-
@DanielA.White 我不是让人们使用 TLS 1.2 连接到我的网站,我想告诉我的应用在与第三方 API 对话时使用 TLS 1.2。
标签: c# asp.net tls1.2 .net-4.6