일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Coding
- commit
- git
- Visual Studio
- windows
- .net
- dotNET
- convert
- 코딩테스트
- WPF
- Binding
- programmers
- chashtag
- windows10
- C#
- mysql
- Microsoft
- csharp
- coding-test
- string
- log
- Process
- ListView
- IValueConverter
- nullable
- algorithm
- logging
- File
- tls
- Github
- Today
- Total
CHashtag
[C#] .NET 4.5이하에서 코드수정없이 TLS 1.2 활성화 본문
안녕하세요.
최근 보안에 대한 인식이 증가하며 TLS 1.0, 1.1이 점점 사라져 가고 있습니다.
(사실 최근은 아니지만요,, ㅋㅋ)
작년 즈음에 저는 TLS관련 오류를 해결할 수 있는 방법에 대해 포스팅 한 적이 있습니다.
https://chashtag.tistory.com/7
https://chashtag.tistory.com/42
두 게시글이 겉보기엔 달라보이지만 자세히 들여다보면 공통된 로직을 포함하고 있습니다.
그것은 바로 ServicePointManager.SecurityProtocol 를 수정한다는 점이지요.
이런 식으로. NET 4.5 이하에서 강제로 TLS 1.2를 사용하게 할 수는 있지만, 코드를 수정하지 못하는 상황이나 수정해야 되는 양이 매우 많을 때에는 매우 난감합니다.
저 또한 최근 그런 상황을 겪었고요. 하하 (어찌나 난감하던지..ㅋㅋ)
하지만 코드수정없이 TLS 1.2를 활성화하는 방법을 찾았고, 그 방법을 공유하고자 합니다.
방법은 매우 간단합니다.
아래 코드를 .reg 파일로 저장한 뒤 실행시켜주시면 됩니다.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
아래 gist는 위 내용을 똑같이 적어둔 gist입니다.
위 파일을 통해 레지스트리 값을 수정(사실 추가이긴 합니다.) 하면 TLS 1.2가 활성화되는데요,
다만 활성화하고자 하는 프로그램을 꼭 재시작 해주셔야 적용이 됩니다.
이 방법은 Client단에도 적용이 가능하니 적절히 활용하시면 되겠습니다.
더 자세한 내용은 아래 링크를 확인해주세요.
https://stackoverflow.com/questions/28286086/default-securityprotocol-in-net-4-5
감사합니다.
도움이 되었길 바랍니다.
'C#' 카테고리의 다른 글
[C#] [Regex] 문자열에서 특수문자 제거하기 (0) | 2022.02.10 |
---|---|
[C#] 랜덤한 ip 생성하기 (ipv4) (0) | 2022.01.25 |
[Visual Studio 2022] the project doesn't know how to run the profile 해결방법 (0) | 2022.01.09 |
[C#] List 원하는 개수만 얻기 (Take, Skip) (0) | 2022.01.07 |
[C#] [NUnit] 작업 경로 (Working Directory) (CurrentDirectory Temp) (0) | 2021.12.23 |