Recentemente, mudei um serviço de BasicHttpBinding para WSHttpBinding (ou seja, SOAP 1.1 -> SOAP 1.2). No WCF , o uso de WSHttpBinding () faz com que comece a usar algumas configurações de segurança padrão. Presumo que as mesmas configurações de segurança padrão também sejam usadas pelo Cliente de Teste do WCF, pois o cliente e o servidor podem continuar falando depois de mudar para o WSHttpBinding 'seguro'. No violinista, confirmei essa configuração de segurança, pois posso testemunhar handshakes de segurança mais complexos com a resposta de solicitação anteriormente simples demais, ou seja,
Antes: (BasicHttpBinding)
[HttpRequest] (solicitação SOAP em Clear)
[HttpResponse] (resposta SOAP em claro)
Depois: (WSHttpBinding)
[HttpRequest] RequestSecurityToken
[HttpResponse] RequestSecurityTokenResponse
[HttpRequest] RequestSecurityToken
[HttpResponse] RequestSecurityTokenResponse
[HttpRequest] RequestSecurityTokenResponse
[HttpResponse] RequestSecurityTokenResponseCollection
[HttpRequest] EncryptedData
[HttpResponse] EncryptedData
[HttpRequest] EncryptedData (solicitação real no nível do aplicativo)
[HttpResponse] EncryptedData (resposta real no nível do aplicativo)
Portanto, posso assumir com segurança que a segurança está sendo aplicada. Agora para as perguntas:
Pergunta 1: Quais são as configurações de segurança? Eu nunca disse ao WCF de nenhum provedor de associação. Na verdade, eu não tenho nenhuma tabela (SQL ou XML) de nenhum nome de usuário <-> senhas. Então, que tipo de autenticação está acontecendo? Embora o Cliente de Teste do WCF possa se autenticar como acima, o SoapUI não atende aos padrões do Microsoft .NET e apresenta problemas. O SoapUI tenta comunicações de texto não criptografado e o servidor responde com um erro incorreto do token de segurança.
Pergunta 2: Qual é o modelo de segurança mais praticado no SOAP 1.2? É através de certificados ou senhas de nome de usuário ou resumo ou _____? Como essas credenciais são armazenadas (SQL / XML?) E configuradas no lado do servidor WCF?