WsCreateXmlSecurityToken 函式 (webservices.h)

從其指定的 XML 表單建立安全性權杖。

語法

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

參數

[in] tokenXml

包含 XML 格式之安全性權杖 之WS_XML_BUFFER 結構的指標。 參考的緩衝區必須剛好有一個最上層 XML 元素。

[in, optional] tokenKey

SECURITY_KEY_HANDLE結構的指標,該結構可能包含或可能不會包含密碼編譯擁有權證明金鑰。 如果存在金鑰,可用來將此安全性權杖系結至訊息。 如果 tokenKey 參數的值不是 Null,則會假設權杖具有擁有權證明金鑰。 如果值為 Null,則會假設結構為「持有人權杖」,如下所述。

  • 名為基本或無金鑰權杖的持有人權杖會在訊息中序列化,以示範訊息擁有權杖,並指出將權杖中的宣告套用至該訊息的意圖。
  • 也稱為 PoP 或密碼編譯權杖的擁有權證明權杖具有相關聯的密碼編譯金鑰,此金鑰必須用來「簽署」訊息,才能示範權杖的擁有權,並指出意圖將權杖中的宣告套用至該訊息。 例如,X.509 憑證:訊息必須使用憑證的私密金鑰簽署,接收主體才能接受訊息,以攜帶憑證中存在的宣告。

properties

WS_XML_SECURITY_TOKEN_PROPERTY結構的陣列,其中包含 XML 安全性權杖的選擇性屬性。

此參數的值可以是 Null,在此情況下, propertyCount 參數必須是 0 (零) 。

[in] propertyCount

屬性陣列中的 屬性 數目。

token

成功時,會接收代表所建立 XML 安全性權杖 之WS_SECURITY_TOKEN 結構的位址的指標。

當您不再需要此結構時,您必須呼叫 WsFreeSecurityToken來釋放它。

如果傳回的安全性權杖是,可以與 WS_XML_TOKEN_MESSAGE_SECURITY_BINDING 搭配使用

呈現給服務。

[in, optional] error

如果函式失敗,WS_ERROR結構的指標,該結構會收到其他錯誤資訊。

傳回值

如果函式成功,它會傳回NO_ERROR;否則會傳回 HRESULT 錯誤碼。

傳回碼 描述
E_INVALIDARG
一或多個引數無效。
E_OUTOFMEMORY
記憶體不足,無法完成作業。
其他錯誤
此函式可能會傳回上面未列出的其他錯誤。

規格需求

   
最低支援的用戶端 Windows 7 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 webservices.h
程式庫 WebServices.lib
Dll WebServices.dll