2011-01-28 3 views
1

httpsを超えるWCF 4.0サービスを使用して、クライアントがメッセージに署名して自分自身を識別できるようにします。次に、クライアントにバックエンドで適切な権利を与えるためにcertを使用することができます。これはWCF 4.0クライアントが要求を送信するときにうまく動作しますが、非WCFが要求を送信しようとすると、以下のエラーが発生します:CryptographicException:署名の '#Id- {Guid goes here}' URIを解決できませんダイジェストを計算する。クライアントの要求を調べると、この障害はToノードとTimestampノード以上のものが署名されている場合に発生します。非WCFクライアントは、本文、アクション、MessageID、およびReplyToセクションに署名することを想定しています。 WCFは、これらの署名を期待して許可するように構成できますか、それとも存在する場合は許可することができますが、そうでない場合は違反しませんか?WCFは追加の署名付き要素を含むメッセージを拒否します

サービスの設定ファイル:

​​

答えて

0

マイクロソフトと協力した後、答えは私たちのクライアントが何しようとしたものである、あなたはCertificateOverTransportを使用して、メッセージ本文に署名することができないということのようです。私たちはMutualCertificateDuplexに移り、ProtectionLevel.Noneへの応答のProtectionLevelを変更しました(私たちは応答に署名することに興味がないので)。リクエストを受け取り、httpsを介して応答を得ることができるようになりました。メッセージのセキュリティがメッセージレベルではなく、転送レベルで維持されている間も、トランスポートに依存して暗号化を行うことができます。

これは他の人に役立つことを望んでいますが、これはWCF相互運用シナリオではかなり一般的ですが、ウェブ上でこれに関する多くの指針はありません。

関連する問題