私は、証明書認証によるトランスポート セキュリティを使用して WCF サービス (WebHttpBinding) をセットアップしたベンダーと協力しています。正しく機能しているベンダー向けの同様のサービスをホストしているので、これがどのように機能するかについての基本的な考えがあります。
Windows 7 で実行し、自分のアカウントでサービスを使用すると、すべて正常に動作し、応答が返されます。テスト アカウントで使用すると、mscorlib で「認証機関 XXXX で SSL/TLS の安全なチャネルを確立できませんでした」という例外が発生します。テスト アカウントを組み込みの Administrators グループに追加すると、正常に動作します。
サーバーの証明書は、サブジェクト フィールドが CN=XXXX に設定された自己署名であり、サーバー証明書は個人ストアにあり、CA 証明書は信頼されたルート証明機関ストアにあります。
さらに、診断を出力して true を返すように System.Net.ServicePointManager.ServerCertificateValidationCallback を設定しようとすると、興味深い動作が得られます。私のアカウントで実行すると、コールバックが 2 回呼び出された後、WCF 呼び出しが成功します。テストアカウントで実行すると、一度呼び出されて戻り、上記の例外が発生します。
私の最善の推測では、これはテスト アカウントに欠けている特権に関連しているということですが、Windows が証明書をどのように処理するかを十分に理解していないため、どこから調べればよいかわかりません。