>백엔드 개발 >C++ >C#에서 HttpClient를 사용하여 보안 HTTPS 호출을 어떻게 할 수 있나요?

C#에서 HttpClient를 사용하여 보안 HTTPS 호출을 어떻게 할 수 있나요?

DDD
DDD원래의
2025-01-18 00:02:10506검색

How Can I Make Secure HTTPS Calls with HttpClient in C#?

HttpClient를 사용하여 HTTPS 호출하기

C#에서 HttpClient 클래스는 웹 API 호출을 위한 강력한 도구입니다. 데이터를 간단하고 효율적으로 보내고 받을 수 있는 방법을 제공하므로 개발자들 사이에서 매우 인기가 높습니다. 그러나 HttpClient를 사용하여 HTTPS 호출을 수행하는 데 때때로 문제가 발생할 수 있습니다.

HTTPS 호출 활성화

HttpClient를 사용하여 HTTPS 호출을 활성화하려면 먼저 SSL/TLS 신뢰 관계 문제를 해결해야 합니다. 기본적으로 HttpClient는 운영 체제의 인증서 저장소에 사전 설치된 인증서만 신뢰합니다. 서버 인증서가 저장소에 없으면 신뢰 관계를 설정할 수 없다는 오류가 발생합니다.

이 문제를 해결하려면 프로그램에 다음 코드 줄을 추가할 수 있습니다.

<code>System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;</code>

이 코드는 HttpClient가 TLS 버전 1.2, 1.1 및 1.0을 지원함을 나타냅니다. 서버가 TLS 1.3과 같은 상위 버전의 TLS를 지원하는 경우 이에 따라 이 코드를 업데이트해야 할 수도 있습니다.

인증서 및 키 제공

경우에 따라 서버는 클라이언트에게 인증을 위해 인증서와 공개/개인 키를 제공하도록 요구할 수 있습니다. HttpClient를 사용하여 이러한 자격 증명을 제공하려면 HttpClientHandler 클래스를 사용할 수 있습니다. 예시는 다음과 같습니다.

<code>var httpClientHandler = new HttpClientHandler();
httpClientHandler.ClientCertificates.Add(new X509Certificate2(...));</code>

이 코드에서 ...는 인증서 파일의 경로를 나타내며 필요한 경우 비밀번호를 나타냅니다. 그런 다음 사용자 정의 HttpClientHandler를 사용하여 HttpClient를 인스턴스화할 수 있습니다.

<code>HttpClient httpClient = new HttpClient(httpClientHandler);</code>

이러한 향상된 기능을 HttpClient 코드에 통합하면 보안 HTTPS 호출을 효율적으로 수행하고 신뢰 및 인증 메커니즘을 구현할 수 있습니다.

위 내용은 C#에서 HttpClient를 사용하여 보안 HTTPS 호출을 어떻게 할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.