C# SOAP Web サービス呼び出しにおける SSL/TLS 信頼関係の問題を解決する
C# Web サービスを呼び出すときに、「SSL/TLS セキュア チャネルの信頼関係を確立できません」というエラーが発生するとイライラすることがあります。この信頼性の問題は通常、SSL で保護された Web サービスを使用するときに発生し、サーバーの SSL 証明書に問題があることを示します。
サーバー構成を確認します
まず、サーバーの構成を確認します。次の条件が満たされていることを確認してください:
エラーの潜在的な原因
サーバーが正しく構成されている場合は、次の潜在的な原因を考慮してください:
証明書の検証を無効にする
一時的な解決策として、証明書の検証を無効にすると、Web サービス呼び出しを続行できるようになります。これは運用環境には推奨されませんが、テスト目的には役立つ場合があります。次のコード スニペットは、証明書の検証を無効にする方法を提供します:
<code class="language-csharp">// Lambda表达式,接受任何证书 System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true); // Lambda表达式,信任发送者 System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, cert, chain, errors) => cert.Subject.Contains("YourServerName")); // 函数回调,用于验证证书 ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);</code>
機能検証例:
<code class="language-csharp">private static bool ValidateRemoteCertificate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors policyErrors) { bool result = cert.Subject.Contains("YourServerName"); return result; }</code>
これらのコード スニペットにより、Web サービスは証明書の問題を無視して接続を確立できます。ただし、Web サービス通信の今後の信頼性を確保するには、信頼問題の根本原因を徹底的に調査し、適切に解決することが重要です。
以上がC# SOAP Web サービス呼び出しでの「SSL/TLS セキュア チャネルの信頼関係を確立できませんでした」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。