1. ホーム
  2. .net

[解決済み] "SSL/TLSセキュアチャネルの信頼関係を当局と確立できませんでした "の解決方法

2022-03-07 10:50:38

質問

私は、HTTPSを使用してIIS 7でホストされているWCFサービスを持っています。Internet Explorerでこのサイトにアクセスすると、魅力的なように動作します。 ある は、ローカルルート認証局ストアに証明書を追加しました。

1台のマシンで開発しているため、クライアントとサーバーは同じマシンです。証明書は、IIS 7 の管理スナップインから直接自己署名しています。

現在、このエラーが継続的に発生しています...。

SSL/TLSセキュアチャネルの信頼関係を当局と確立できませんでした。

... クライアントコンソールから呼び出された場合。

私は、証明書に対する権限とネットワークサービスを手動で、以下のようにしました。 findprivatekey を使用し cacls.exe .

SOAPUIを使用してサービスに接続しようとしたところ、うまくいったので、httpで動作していたものをベースにしたコードである私のクライアントアプリケーションに問題があるのでしょう。

接続できない理由については、あらゆる可能性を使い果たしたように思えますが、他にどこを見ればよいのでしょうか?

どうすればいいですか?

回避策として、ハンドラを ServicePointManager 's ServerCertificateValidationCallback をクライアント側で実行します。

System.Net.ServicePointManager.ServerCertificateValidationCallback +=
    (se, cert, chain, sslerror) =>
        {
            return true;
        };

が、注意すべきは これは良い習慣ではありません これはサーバ証明書を完全に無視し、サービスポイントマネージャにどんな証明書でも問題ないと伝えてしまうため、クライアントのセキュリティを著しく損なう可能性があります。これを改良して、(証明書名やハッシュなど)独自のチェックをすることができます。 少なくとも、開発中にテスト証明書を使用する際の問題を回避することができます。