Compartir a través de


estructura WS_XML_TOKEN_MESSAGE_SECURITY_BINDING (webservices.h)

Subtipo de enlace de seguridad para especificar el uso de un token de seguridad que ya está disponible para la aplicación en formato XML. El token de seguridad proporcionado por la aplicación en este enlace se presenta a un servicio en un encabezado de WS-Security según el bindingUsage especificado. Este enlace de seguridad solo se puede incluir en una descripción de seguridad en el lado cliente.

Este enlace de seguridad no se admite con el WS_NAMEDPIPE_CHANNEL_BINDING.

Aunque este enlace se puede usar con cualquier token disponible en formato XML, se usa normalmente en escenarios de federación. Por ejemplo, un proveedor de tokens del lado cliente, como CardSpace, se puede usar para obtener un token de un servicio de token de seguridad y ese token se puede presentar a un servicio web mediante este enlace de seguridad.

Nota de seguridad: Al igual que con otros tokens de seguridad y credenciales, la aplicación se encarga de la decisión de evaluación de riesgos de revelar un token XML determinado (proporcionado por la aplicación en una descripción de seguridad) a un servidor determinado (proporcionado por la aplicación al abrir el canal). En concreto, la aplicación debe considerar la amenaza que el servidor podría usar el token XML que recibe del cliente, a su vez, para fingir que es el cliente de una tercera parte. Para esta amenaza, existen las siguientes mitigaciones: (A) el proceso de autenticación del servidor se asegura de que el mensaje (y, por tanto, el token) se envía solo a un servidor que pueda hablar para la dirección especificada por la aplicación cliente; (B) los tokens sin clave (portador) normalmente solo se pueden usar en un servidor (por ejemplo, contoso.com obtiene poco de pasar un token de nombre de usuario y contraseña de contoso.com a otro sitio; el diseño de seguridad de la aplicación debe asegurarse de que esta propiedad contiene); (C) los tokens con clave simétrica no se pueden usar en cualquier servidor que no comparta la misma clave simétrica; (D) Los tokens con clave asimétrica firmarán la marca de tiempo y el encabezado "To", limitando su aplicabilidad a la "To" prevista durante un tiempo reducido.

Con este enlace de seguridad, no se pueden especificar propiedades de enlace de seguridad:

Sintaxis

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;

Miembros

binding

Tipo base del que derivan este subtipo de enlace de seguridad y todos los demás subtipos de enlace de seguridad.

bindingUsage

Cómo debe enlazarse el token de seguridad correspondiente a este enlace de seguridad a un mensaje.

Solo se admiten WS_SUPPORTING_MESSAGE_SECURITY_USAGE . Con este uso, este enlace de seguridad proporciona autenticación de cliente, pero no protección de mensajes (por ejemplo, firma, cifrado, detección de reproducción). Por lo tanto, este enlace debe usarse junto con otro enlace de seguridad, como el WS_SSL_TRANSPORT_SECURITY_BINDING que proporciona un canal protegido.

xmlToken

Token de seguridad XML que se va a usar. Este token se puede crear mediante WsCreateXmlSecurityToken o obtenido de un servicio de token de seguridad mediante WsRequestSecurityToken. Cuando este enlace se usa para crear un canal, se realiza una copia del token proporcionado y se mantiene para uso interno, la aplicación continúa siendo propietaria del token proporcionado y es responsable de eliminarlo con WsFreeSecurityToken en cualquier momento después de que se devuelva la llamada de creación del canal.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 7 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 R2 [solo aplicaciones de escritorio]
Encabezado webservices.h