私はHTTPSを使用してIIS 7でホストされているWCFサービスを持っています。このサイトをInternet Explorerで参照すると、問題なく動作します。これは、持っている証明書をローカル ルート証明機関ストアに追加しました。
1 台のマシンで開発しているので、クライアントとサーバーは同じマシンです。証明書は、IIS 7 管理スナップインから直接自己署名されます。
今もこのエラーが頻繁に発生します...
権限を持つ SSL/TLS セキュア チャネルの信頼関係を確立できませんでした。
...クライアント コンソールから呼び出された場合。
findprivatekey
と を使用して、証明書へのアクセス許可とネットワーク サービスを手動で付与しましたcacls.exe
。
SOAPUI を使用してサービスに接続しようとしましたが、正常に動作しました。したがって、これは、HTTP で動作していたものに基づいたコードであるクライアント アプリケーションの問題であるはずです。
接続できない理由について、すべての可能性を試したようですが、他にどこを確認すればよいでしょうか?
ベストアンサー1
回避策として、クライアント側の にServicePointManager
ハンドラーを追加することができます。ServerCertificateValidationCallback
System.Net.ServicePointManager.ServerCertificateValidationCallback +=
(se, cert, chain, sslerror) =>
{
return true;
};
しかし、注意してくださいこれは良い習慣ではないサーバーの証明書を完全に無視し、サービス ポイント マネージャーに証明書が何であれ問題ないと伝えるため、クライアントのセキュリティが深刻に損なわれる可能性があります。これを改良して、カスタム チェック (証明書名、ハッシュなど) を行うことができます。少なくとも、テスト証明書を使用する場合、開発中に問題を回避できます。