SSL証明書のエラーをRestSharpで無視できるようにする方法はありますか?テストクライアントがあり、接続するサービスに有効な証明書がまだありません。
今すぐリクエストをすると、エラーが発生します:
The underlying connection was closed: Could not establish trust
relationship for the SSL/TLS secure channel.
前もって感謝します
/マイケル
更新:
私は最終的に使用しました:
ServicePointManager.ServerCertificateValidationCallback +=
(sender, certificate, chain, sslPolicyErrors) => true;
ジョンが提案したように:
ServicePointManager.ServerCertificateValidationCallback +=
(sender, certificate, chain, sslPolicyErrors) => true;
コードを変更するよりも優れたソリューションがあります。理想的には、本番環境で見られる条件をシミュレートするソリューションが必要であり、コードを変更してもそれは行われず、デプロイする前にコードを取り出すのを忘れると危険になる可能性があります。
何らかの自己署名証明書が必要になります。 IIS Expressを使用している場合は、これらのいずれかが既にあります。見つける必要があります。まだない場合は、Firefoxまたは任意のブラウザーを開き、 Webサイトにアクセスすると、URLバーから証明書情報を表示でき、ブラウザーによっては証明書をエクスポートできるはずです。
次に、MMC.exeを開き、証明書スナップインを追加します。証明書ファイルを信頼されたルート証明機関ストアにインポートします。必要なのはこれだけです。
これで、コンピューター全体として、コンピューター自体が生成した証明書が暗黙的に信頼され、これを特別に処理するためのコードを追加する必要がなくなります。本番環境に移行しても、適切な有効な証明書がインストールされていれば機能し続けます。
オブジェクトに設定できます
var restClient = new RestClient(baseUrl);
restClient.RemoteCertificateValidationCallback =
(sender, certificate, chain, sslPolicyErrors) => true;