Partager via


WsCreateXmlSecurityToken, fonction (webservices.h)

Crée un jeton de sécurité à partir de son formulaire XML spécifié.

Syntaxe

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
);

Paramètres

[in] tokenXml

Pointeur vers une structure WS_XML_BUFFER contenant le jeton de sécurité dans sa forme XML. La mémoire tampon référencée doit avoir exactement un élément XML de niveau supérieur.

[in, optional] tokenKey

Pointeur vers une structure de SECURITY_KEY_HANDLE qui peut contenir ou non une clé de preuve de possession de chiffrement. Si elle est présente, la clé peut être utilisée pour lier ce jeton de sécurité à un message. Si la valeur du paramètre tokenKey n’est pas NULL, le jeton est supposé avoir une clé de preuve de possession. Si la valeur est NULL, la structure est supposée être un « jeton du porteur », comme défini ci-dessous.

  • Un jeton de porteur également appelé jeton de base ou sans clé est sérialisé dans un message pour démontrer la possession du jeton par le message et pour indiquer l’intention d’appliquer les revendications du jeton à ce message.
  • Un jeton de preuve de possession également appelé poP ou jeton de chiffrement a une clé de chiffrement associée qui doit être utilisée pour « signer » un message afin de démontrer la possession du jeton et d’indiquer l’intention d’appliquer les revendications du jeton à ce message. Un certificat X.509 en est un exemple : le message doit être signé avec la clé privée du certificat pour qu’un principal de réception accepte le message comme porteur des revendications présentes dans le certificat.

properties

Tableau de structures WS_XML_SECURITY_TOKEN_PROPERTY contenant des propriétés facultatives pour le jeton de sécurité XML.

La valeur de ce paramètre peut être NULL, auquel cas, le paramètre propertyCount doit être égal à 0 (zéro).

[in] propertyCount

Nombre de propriétés dans le tableau de propriétés .

token

En cas de réussite, un pointeur qui reçoit l’adresse du WS_SECURITY_TOKEN structure représentant le jeton de sécurité XML créé.

Lorsque vous n’avez plus besoin de cette structure, vous devez la libérer en appelant WsFreeSecurityToken.

Le jeton de sécurité retourné peut être utilisé avec WS_XML_TOKEN_MESSAGE_SECURITY_BINDING s’il doit être

présenté à un service.

[in, optional] error

Pointeur vers une structure de WS_ERROR qui reçoit des informations d’erreur supplémentaires en cas d’échec de la fonction.

Valeur retournée

Si la fonction réussit, elle retourne NO_ERROR ; sinon, il retourne un code d’erreur HRESULT.

Code de retour Description
E_INVALIDARG
Un ou plusieurs arguments ne sont pas valides.
E_OUTOFMEMORY
Mémoire insuffisante pour terminer l’opération.
Autres erreurs
Cette fonction peut renvoyer d’autres erreurs non répertoriées ci-dessus.

Configuration requise

   
Client minimal pris en charge Windows 7 [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête webservices.h
Bibliothèque WebServices.lib
DLL WebServices.dll