Recientemente moví un servicio de BasicHttpBinding a WSHttpBinding (es decir, SOAP 1.1 -> SOAP 1.2). En WCF , el uso de WSHttpBinding () hace que comience a usar algunas configuraciones de seguridad predeterminadas. Supongo que WCF Test Client también usa la misma configuración de seguridad predeterminada, ya que el cliente y el servidor pueden continuar hablando después de cambiar al WSHttpBinding 'seguro'. En Fiddler, he confirmado esta configuración de seguridad, ya que puedo presenciar apretones de manos de seguridad más complejos de la solicitud-respuesta previamente simple, es decir
Antes: (BasicHttpBinding)
[HttpRequest] (solicitud SOAP en claro)
[HttpResponse] (respuesta SOAP en claro)
Después: (WSHttpBinding)
[HttpRequest] RequestSecurityToken
[HttpResponse] RequestSecurityTokenResponse
[HttpRequest] RequestSecurityToken
[HttpResponse] RequestSecurityTokenResponse
[HttpRequest] RequestSecurityTokenResponse
[HttpResponse] RequestSecurityTokenResponseCollection
[HttpRequest] EncryptedData
[HttpResponse] EncryptedData
[HttpRequest] EncryptedData (solicitud de nivel de aplicación real)
[HttpResponse] EncryptedData (respuesta de nivel de aplicación real)
Así que puedo asumir con seguridad que se está aplicando la seguridad. Ahora a las preguntas:
Pregunta 1: ¿Cuáles son las configuraciones de seguridad? Nunca le dije a WCF de ningún proveedor de membresía. De hecho, no tengo ninguna tabla (SQL o XML) de nombres de usuario <-> contraseñas. Entonces, ¿qué tipo de autenticación está sucediendo? Aunque WCF Test Client puede autenticarse como anteriormente, SoapUI no detecta estos valores predeterminados de Microsoft .NET y tiene problemas. SoapUI intenta comunicaciones de texto claro y luego el servidor responde con un error de token de seguridad incorrecto.
Pregunta 2: ¿Cuál es el modelo de seguridad más utilizado para SOAP 1.2? ¿Es a través de certificados o contraseñas de nombre de usuario o resumen o _____? ¿Cómo se almacenan esas credenciales (SQL / XML) y se configuran en el lado del servidor WCF?