Freigeben über


WsCreateXmlSecurityToken-Funktion (webservices.h)

Erstellt ein Sicherheitstoken aus dem angegebenen XML-Formular.

Syntax

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

Parameter

[in] tokenXml

Zeiger auf eine WS_XML_BUFFER-Struktur , die das Sicherheitstoken in seiner XML-Form enthält. Der Puffer, auf den verwiesen wird, muss genau über ein XML-Element der obersten Ebene verfügen.

[in, optional] tokenKey

Zeiger auf eine SECURITY_KEY_HANDLE Struktur, die möglicherweise einen kryptografischen Besitznachweisschlüssel enthalten kann. Wenn vorhanden, kann der Schlüssel verwendet werden, um dieses Sicherheitstoken an eine Nachricht zu binden. Wenn der Wert des tokenKey-Parameters nicht NULL ist, wird davon ausgegangen, dass das Token über einen Proof-of-Possession-Schlüssel verfügt. Wenn der Wert NULL ist, wird davon ausgegangen, dass es sich bei der Struktur um ein "Bearertoken" handelt, wie unten definiert.

  • Ein Bearertoken, das auch als Basistoken oder schlüsselloses Token bezeichnet wird, wird in einer Nachricht serialisiert, um den Besitz des Tokens durch die Nachricht zu veranschaulichen und die Absicht anzugeben, die Ansprüche aus dem Token auf diese Nachricht anzuwenden.
  • Ein Auch als PoP oder kryptografisches Token bezeichnetes Token verfügt über einen zugeordneten kryptografischen Schlüssel, der zum "Signieren" einer Nachricht verwendet werden muss, um den Besitz des Tokens nachzuweisen und die Absicht anzugeben, die Ansprüche aus dem Token auf diese Nachricht anzuwenden. Ein Beispiel ist ein X.509-Zertifikat: Die Nachricht muss mit dem privaten Schlüssel des Zertifikats signiert werden, damit ein empfangender Prinzipal die Nachricht als mit den im Zertifikat vorhandenen Ansprüchen akzeptiert.

properties

Ein Array von WS_XML_SECURITY_TOKEN_PROPERTY Strukturen, die optionale Eigenschaften für das XML-Sicherheitstoken enthalten.

Der Wert dieses Parameters kann NULL sein. In diesem Fall muss der propertyCount-Parameter 0 (null) sein.

[in] propertyCount

Die Anzahl der Eigenschaften im Eigenschaftenarray .

token

Bei Erfolg ein Zeiger, der die Adresse der WS_SECURITY_TOKEN Struktur empfängt, die das erstellte XML-Sicherheitstoken darstellt.

Wenn Sie diese Struktur nicht mehr benötigen, müssen Sie sie freigeben, indem Sie WsFreeSecurityToken aufrufen.

Das zurückgegebene Sicherheitstoken kann mit WS_XML_TOKEN_MESSAGE_SECURITY_BINDING verwendet werden, wenn es sein soll

für einen Dienst angezeigt.

[in, optional] error

Zeiger auf eine WS_ERROR-Struktur , die zusätzliche Fehlerinformationen empfängt, wenn die Funktion fehlschlägt.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie NO_ERROR zurück. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.

Rückgabecode Beschreibung
E_INVALIDARG
Mindestens ein Argument ist ungültig.
E_OUTOFMEMORY
Unzureichender Arbeitsspeicher, um den Vorgang abzuschließen.
Andere Fehler
Diese Funktion gibt möglicherweise andere Fehler zurück, die oben nicht aufgeführt sind.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 7 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile webservices.h
Bibliothek WebServices.lib
DLL WebServices.dll