I recently moved a service from BasicHttpBinding to WSHttpBinding (i.e. SOAP 1.1 -> SOAP 1.2). In WCF, using WSHttpBinding() makes it start using some default security settings. I presume the same default security settings are also used by the WCF Test Client since the client and server can continue talking after switching to the 'secured' WSHttpBinding. In fiddler, I've confirmed this security setup since I can witness more complex security handshakes from the previously dead-simple request-response i.e.
Before: (BasicHttpBinding)
[HttpRequest ] (SOAP Request In Clear)
[HttpResponse] (SOAP Response In Clear)
After: (WSHttpBinding)
[HttpRequest ] RequestSecurityToken
[HttpResponse] RequestSecurityTokenResponse
[HttpRequest ] RequestSecurityToken
[HttpResponse] RequestSecurityTokenResponse
[HttpRequest ] RequestSecurityTokenResponse
[HttpResponse] RequestSecurityTokenResponseCollection
[HttpRequest ] EncryptedData
[HttpResponse] EncryptedData
[HttpRequest ] EncryptedData (actual application level request)
[HttpResponse] EncryptedData (actual application level response)
So I can safely assume security is being applied. Now to the questions:
Question 1: What are the security settings? I never told WCF of any membership provider. In fact I don't have any table (SQL or XML) of any usernames <-> passwords. So what kind of authentication is happening? Although WCF Test Client can authenticate as above, SoapUI doesn't pick up these Microsoft .NET defaults and has issues. SoapUI attempts clear text communications and then the server responds with an incorrect security token error.
Question 2: What is the most commonly practiced security model for SOAP 1.2? Is it via certificates or username passwords or digest or _____? How are those credentials stored (SQL/XML?) and configured on the WCF server side?