C#에서 HttpClient 클래스는 웹 API 호출을 위한 강력한 도구입니다. 데이터를 간단하고 효율적으로 보내고 받을 수 있는 방법을 제공하므로 개발자들 사이에서 매우 인기가 높습니다. 그러나 HttpClient를 사용하여 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!