Como: Proteger mensagens em sessões confiáveis

Este tópico descreve as etapas necessárias para habilitar a segurança em nível de mensagem para mensagens trocadas em uma sessão confiável usando uma das associações fornecidas pelo sistema que oferecem suporte a essa sessão, mas não por padrão. Habilite uma sessão segura e confiável imperativamente usando código ou declarativamente no arquivo de configuração. Este procedimento usa os arquivos de configuração do cliente e do serviço para habilitar a sessão segura e confiável.

Este procedimento consiste nas seguintes três tarefas principais:

  1. Especifique que o cliente e o serviço troquem mensagens dentro de uma sessão confiável.

  2. Exija segurança em nível de mensagem dentro da sessão confiável.

  3. Especifique o tipo de credencial de cliente que o cliente deve usar para ser autenticado com o serviço.

É importante na primeira tarefa que o elemento de configuração do ponto de extremidade contenha um bindingConfiguration atributo que faça referência a uma configuração de vinculação chamada (neste exemplo). MessageSecurity >Em <seguida, o elemento binding configuration faz referência a esse nome para habilitar sessões confiáveis definindo o enabled<atributo do elemento reliableSession> como .true Você pode exigir que as garantias de entrega solicitadas estejam disponíveis em uma sessão confiável definindo o ordered atributo como true.

Para obter a cópia de origem do exemplo no qual este procedimento de configuração se baseia, consulte a Sessão confiável do WS.

Os itens essenciais da segunda tarefa são realizados definindo o mode<atributo do elemento de segurança> contido no<> elemento binding do cliente e do serviço como .Message

Os itens essenciais da terceira tarefa são realizados definindo o clientCredentialType<atributo do elemento message> contido no <elemento de segurança> do cliente e do serviço como .Certificate

Nota

Ao usar a segurança de mensagens com sessões confiáveis, o Reliable Messaging tenta autenticar um cliente não autenticado até que ocorra um tempo limite em vez de lançar uma exceção na primeira falha.

Configurar o serviço com um WSHttpBinding para usar uma sessão confiável

Este procedimento é descrito em Como: Trocar mensagens dentro de uma sessão confiável.

Configurar o cliente com um WSHttpBinding para usar uma sessão confiável

Este procedimento é descrito em Como: Trocar mensagens dentro de uma sessão confiável.

Definir o modo e ClientCredentialType na configuração

  1. Adicione um elemento binding apropriado ao <elemento bindings> do arquivo de configuração. O exemplo a seguir adiciona um <elemento wsHttpBinding.>

  2. Adicione um <elemento binding> e defina seu name atributo como um valor apropriado. O exemplo usa o nome MessageSecurity.

  3. Adicione um <elemento de segurança> e defina o mode atributo como Message.

  4. Dentro do elemento security>, adicione um <elemento message> e defina o clientCredentialType atributo como Certificate.<

<wsHttpBinding>
  <binding name="MessageSecurity">
    <security mode="Message">
      <message clientCredentialType="Certificate" />
    </security>
  </binding>
</wsHttpBinding>