1

カバーしなければならないことがたくさんあるので、すべての優れたプログラマーがすべきであるように、構造化を維持しようとします.. 我慢してください.

私の環境

  • .NET 3.5 SP1 スマート クライアント
  • HTTP 経由で WCF+SOAP を使用して、ビジネス ロジック/データ アクセスのためにサーバーと通信します。
  • 通常、カスタム (ユーザー名とパスワード) または Windows 認証スキームを使用します。
  • 現在の作業は、ADFS での SSO を容易にする新しいクレームベースの認証スキームを含めるように拡張することを目的としています

ここのところ...

  • ws2007FederationHttpBinding バインディングを使用する主要なサービス エンドポイント、trust/13/issuedtokenmixedsymmetricbasic256 ADFS 2.0 エンドポイントを介したメッセージ セキュリティで設定された構成
  • IssuedTokenOverTransport で構成された発行者エンドポイントから HTTPS trust/13/usernamemixed ADFS 2.0 エンドポイントへ
  • サービスには federateServiceHostConfiguration サービス動作が指定されています
  • 一時的な認証局 (CA) 証明書を作成しました
  • CA によって署名された一時的な証明書が作成されました
  • 証明書 (秘密キーを含む) をインストールし、IIS アプリ プール プロセス アカウントで使用できるようにする
  • X509 証明書を使用するようにサービス WCF 構成を更新しました
  • 新しいアプリ独自のクライアント スキーム/モードで変更されたクライアントは、プログラムでチャネル ファクトリをセットアップして、一時証明書によって発生したエラーを無視し、証明書失効チェックを無効にします。
  • ユーザー名/パスワード資格情報が (標準の WCF ClientCredentials オブジェクトを介して) トークン要求の SOAP エンベロープに正常に追加されました
  • トークンは usernamemixed エンドポイントによって正常に生成され、クライアントに返されます

私の問題

  • トークンが発行された直後に、issuedtokenmixedsymmetricbasic256 エンドポイントへの後続の呼び出しが失敗し、メッセージのセキュリティを検証できなかったという一般的なエラー メッセージが表示されます。SOAP エンベロープの結果を検査しても、単純な「失敗」結果の列挙値以外の情報はまったく得られません
  • ADFS 2.0 サーバーで完全なトレースが有効になっていますが、詳細な診断のためにイベント ログまたはイベント トレースにイベントがまったく記録されません。
  • これまでフェデレーション方式で動作するように構成できませんでした。トークンは、「テスト」環境 (リモート サーバーではなく内部 ADFS サーバー) で usernamemixed エンドポイントを介して正常に発行されます。「ライブ」環境を使用すると、トークンを取得しようとするときに、usernamemixed を確認済みの有効な資格情報と混合して使用するか、windowsmixed を使用するかに関係なく、説明のつかない単純な 401 HTTP ステータス コードが返されます。
  • 一般的に: Microsoft または他のソースからのリソースは非常に少なく、特定の状況に非常に限定されており、いくつかのケースでは、完全に間違っているか、誤解を招く可能性があります。

だから、もう質問してください、ばか

トークンを取得した後に WCF が実行する issuedtokenmixedsymmetricbasic256 の呼び出しが失敗するのはなぜですか? 結果を診断するにはどうすればよいですか?サービス ホスト構成ですべてのトレース フラグを有効にすること、イベント ログとイベント トレース データをチェックすること、これまでに行ったこと以外に、何ができますか?

スクリーンキャスト/ガイド/ブログ/すべてを網羅しているように見える MSDN 記事へのリンクを提案しようとしている場合は、注意してください。私はそれらをすべて見つけ、すべて試したと思います。この時点で必要なのは、上記の質問に対する答えです。一般リソースではありません。

4

0 に答える 0