ホームページ >バックエンド開発 >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 クラスは Web 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。