2017-04-18 13 views
2

TLS 1.2의 사용을 곧 시행 할 타사 API가 있습니다.ASP .NET 4.6 응용 프로그램에서 TLS 1.2를 강제로 사용해야합니까?

우리는 C#으로 작성된이 API, 콘솔 응용 프로그램 및 ASP.NET 웹 응용 프로그램에 연결되는 두 개의 개별 응용 프로그램을 가지고 있습니다.

호스트 컴퓨터에 설치되어있는 .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 웹 응용 프로그램에서해야 할 일에 대해 혼란스러워합니다.

먼저 3 개의 프로젝트로 구성됩니다. 두 개는 각각 프레임 워크와 서비스 계층을위한 클래스 라이브러리이고 세 번째는 UI 용 ASP 웹 응용 프로그램입니다. 필자는 이들 각각을 검토하고 .NET 4.6을 대상으로했습니다.
내가 읽었던 것에서는 가장 높은 프로토콜이 기본적으로 협상 될 것이므로이 작업을 수행해야합니다.

맞습니까?

내가 틀렸다면, 콘솔 앱에서 어디에 같은 줄을 추가해야합니까? Global.asax?

+0

IIS에서 호스팅됩니까? –

+0

@ DanielA.White 예, IIS 8.5. – Equalsk

+0

으로 구성됩니다. –

답변

4

ServicePointManager.SecurityProtocolstatic이므로 응용 프로그램마다 한 번만 구성하면됩니다. 즉, 해당 코드를 Application_Start 이벤트에두면 충분합니다.