Compartilhar via


estrutura WS_XML_TOKEN_MESSAGE_SECURITY_BINDING (webservices.h)

O subtipo de associação de segurança para especificar o uso de um token de segurança que já está disponível para o aplicativo no formato XML. O token de segurança fornecido pelo aplicativo nessa associação é apresentado a um serviço em um cabeçalho WS-Security de acordo com a bindingUsage especificada. Essa associação de segurança pode ser incluída em uma descrição de segurança somente no lado do cliente.

Não há suporte para essa associação de segurança com o WS_NAMEDPIPE_CHANNEL_BINDING.

Embora essa associação possa ser usada com qualquer token disponível no formato XML, isso é comumente usado em cenários de federação. Por exemplo, um provedor de token do lado do cliente, como CardSpace, pode ser usado para obter um token de um serviço de token de segurança e esse token pode então ser apresentado a um Serviço Web usando essa associação de segurança.

Observação de segurança: assim como acontece com outros tokens de segurança e credenciais, o aplicativo é responsável pela decisão de avaliação de risco de divulgar um determinado token XML (fornecido pelo aplicativo em uma descrição de segurança) para um determinado servidor (fornecido pelo aplicativo ao abrir o canal). Em particular, o aplicativo deve considerar a ameaça de que o servidor possa usar o token XML que recebe do cliente, por sua vez, para fingir ser o cliente de terceiros. Para essa ameaça, existem as seguintes mitigações: (A) o processo de autenticação do servidor garante que a mensagem (e, portanto, o token) seja enviada apenas a um servidor que possa falar pelo endereço especificado pelo aplicativo cliente; (B) Tokens sem chave (portador) normalmente são utilizáveis apenas em um servidor (por exemplo, contoso.com ganha pouco com a passagem de um token de nome de usuário/senha contoso.com para outro site – o design de segurança do aplicativo deve garantir que essa propriedade seja mantida); (C) tokens com chave simétrica são inutilizáveis em qualquer servidor que não compartilhe a mesma chave simétrica; (D) Os tokens com chave assimétrica assinarão o carimbo de data/hora e o cabeçalho 'To', limitando sua aplicabilidade ao 'To' pretendido por uma duração de tempo estreita.

Com essa associação de segurança, nenhuma propriedade de associação de segurança pode ser especificada:

Sintaxe

typedef struct _WS_XML_TOKEN_MESSAGE_SECURITY_BINDING {
  WS_SECURITY_BINDING       binding;
  WS_MESSAGE_SECURITY_USAGE bindingUsage;
  WS_SECURITY_TOKEN         *xmlToken;
} WS_XML_TOKEN_MESSAGE_SECURITY_BINDING;

Membros

binding

O tipo base do qual esse subtipo de associação de segurança e todos os outros subtipos de associação de segurança derivam.

bindingUsage

Como o token de segurança correspondente a essa associação de segurança deve ser associado a uma mensagem.

Há suporte apenas para WS_SUPPORTING_MESSAGE_SECURITY_USAGE . Com esse uso, essa associação de segurança fornece autenticação de cliente, mas não proteção de mensagens (como assinatura, criptografia, detecção de reprodução). Portanto, essa associação deve ser usada junto com outra associação de segurança, como a WS_SSL_TRANSPORT_SECURITY_BINDING que fornece um canal protegido.

xmlToken

O token de segurança XML a ser usado. Esse token pode ser criado usando WsCreateXmlSecurityToken ou obtido de um serviço de token de segurança usando WsRequestSecurityToken. Quando essa associação é usada para criar um canal, uma cópia do token fornecido é feita e mantida para uso interno – o aplicativo continua a possuir o token fornecido e é responsável por excluí-lo com WsFreeSecurityToken a qualquer momento após o retorno da chamada de criação do canal.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 7 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 R2 [somente aplicativos da área de trabalho]
Cabeçalho webservices.h