最近、サービスをBasicHttpBindingからWSHttpBindingに移動しました(つまり、SOAP 1.1- > SOAP 1.2)。でWCF、WSHttpBinding()を使用することは、いくつかのデフォルトのセキュリティ設定を使用して起動します。クライアントとサーバーは「セキュリティで保護された」WSHttpBindingに切り替えた後も会話を続けることができるため、WCFテストクライアントでも同じデフォルトのセキュリティ設定が使用されていると思います。フィドラーでは、以前は非常に単純だったリクエスト/レスポンスから、より複雑なセキュリティハンドシェイクを見ることができるため、このセキュリティ設定を確認しました
以前:(BasicHttpBinding)
[HttpRequest](SOAP Request in Clear)
[HttpResponse](SOAP Response in Clear)
後:(WSHttpBinding)
[HttpRequest] RequestSecurityToken
[HttpResponse] RequestSecurityTokenResponse
[HttpRequest] RequestSecurityToken
[HttpResponse] RequestSecurityTokenResponse
[HttpRequest] RequestSecurityTokenResponse
[HttpResponse] RequestSecurityTokenResponseCollection
[HttpRequest] EncryptedData
[HttpResponse] EncryptedData
[HttpRequest] EncryptedData (実際のアプリケーションレベルのリクエスト)
[HttpResponse] EncryptedData (実際のアプリケーションレベルの応答)
したがって、セキュリティが適用されていると想定できます。次に質問です。
質問1:セキュリティ設定とは何ですか? メンバーシッププロバイダーについてWCFに語ったことはありません。実際、ユーザー名<->パスワードのテーブル(SQLまたはXML)はありません。では、どのような認証が行われているのでしょうか。WCFテストクライアントは上記のように認証できますが、SoapUIはこれらのMicrosoft .NETデフォルトを取得しないため、問題があります。SoapUIがクリアテキスト通信を試行すると、サーバーは不正なセキュリティトークンエラーで応答します。
質問2:SOAP 1.2で最も一般的に実施されているセキュリティモデルは何ですか? 証明書、ユーザー名、パスワード、ダイジェスト、または_____を使用していますか?これらの資格情報はどのように保存され(SQL / XML?)、WCFサーバー側で構成されますか?