Función WsCreateXmlSecurityToken (webservices.h)

Crea un token de seguridad a partir de su formulario XML especificado.

Sintaxis

HRESULT WsCreateXmlSecurityToken(
  [in]           WS_XML_BUFFER                        *tokenXml,
  [in, optional] WS_SECURITY_KEY_HANDLE               *tokenKey,
                 const WS_XML_SECURITY_TOKEN_PROPERTY *properties,
  [in]           ULONG                                propertyCount,
                 WS_SECURITY_TOKEN                    **token,
  [in, optional] WS_ERROR                             *error
);

Parámetros

[in] tokenXml

Puntero a una estructura de WS_XML_BUFFER que contiene el token de seguridad en su formato XML. El búfer al que se hace referencia debe tener exactamente un elemento XML de nivel superior.

[in, optional] tokenKey

Puntero a una estructura de SECURITY_KEY_HANDLE que puede contener o no una clave criptográfica de prueba de posesión. Si existe la clave se puede usar para enlazar este token de seguridad a un mensaje. Si el valor del parámetro tokenKey no es NULL, se supone que el token tiene una clave de prueba de posesión. Si el valor es NULL, se supone que la estructura es un "token de portador", como se define a continuación.

  • Un token de portador también denominado token básico o sin clave se serializa en un mensaje para mostrar la posesión del mensaje del token y para indicar la intención de aplicar las notificaciones del token a ese mensaje.
  • Un token de prueba de posesión también denominado poP o token criptográfico tiene una clave criptográfica asociada que se debe usar para "firmar" un mensaje con el fin de demostrar la posesión del token e indicar la intención de aplicar las notificaciones del token a ese mensaje. Un ejemplo es un certificado X.509: el mensaje debe firmarse con la clave privada del certificado para que una entidad de seguridad receptora acepte el mensaje como portador de las notificaciones presentes en el certificado.

properties

Matriz de estructuras de WS_XML_SECURITY_TOKEN_PROPERTY que contienen propiedades opcionales para el token de seguridad XML.

El valor de este parámetro puede ser NULL, en cuyo caso el parámetro propertyCount debe ser 0 (cero).

[in] propertyCount

Número de propiedades de la matriz de propiedades .

token

Si se ejecuta correctamente, un puntero que recibe la dirección de la estructura WS_SECURITY_TOKEN que representa el token de seguridad XML creado.

Cuando ya no necesite esta estructura, debe liberarla llamando a WsFreeSecurityToken.

El token de seguridad devuelto se puede usar con WS_XML_TOKEN_MESSAGE_SECURITY_BINDING si es necesario

presentado a un servicio.

[in, optional] error

Puntero a una estructura de WS_ERROR que recibe información de error adicional si se produce un error en la función.

Valor devuelto

Si la función se realiza correctamente, devuelve NO_ERROR; de lo contrario, devuelve un código de error HRESULT.

Código devuelto Descripción
E_INVALIDARG
Uno o más argumentos no son válidos.
E_OUTOFMEMORY
Memoria insuficiente para completar la operación.
Otros errores
Esta función puede devolver otros errores no enumerados anteriormente.

Requisitos

   
Cliente mínimo compatible Windows 7 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 R2 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado webservices.h
Library WebServices.lib
Archivo DLL WebServices.dll