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
指向 WS_XML_BUFFER 结构的指针,该结构包含其 XML 形式的安全令牌。 引用的缓冲区必须恰好有一个顶级 XML 元素。
[in, optional] tokenKey
指向可能包含或不包含加密所有权证明密钥 的SECURITY_KEY_HANDLE 结构的指针。 如果存在,可以使用密钥将此安全令牌绑定到消息。 如果 tokenKey 参数的值不是 NULL,则假定令牌具有所有权证明密钥。 如果值为 NULL,则假定结构是如下定义的“持有者令牌”。
- 在消息中序列化也称为基本令牌或无密钥令牌的持有者令牌,以证明消息拥有令牌,并指示打算将令牌中的声明应用于该消息。
- 所有权证明令牌(也称为 PoP 或加密令牌)具有关联的加密密钥,必须使用该密钥对消息进行“签名”,以表明拥有令牌,并指示打算将令牌中的声明应用于该消息。 例如,X.509 证书:必须使用证书的私钥对消息进行签名,以便接收主体接受包含证书中存在的声明的消息。
properties
包含 XML 安全令牌的可选属性 的WS_XML_SECURITY_TOKEN_PROPERTY 结构的数组。
此参数的值可以为 NULL,在这种情况下, propertyCount 参数必须为 0 (零) 。
[in] propertyCount
properties 数组中的 属性 数。
token
成功时,一个指针,用于接收表示所创建的 XML 安全令牌 的WS_SECURITY_TOKEN 结构的地址。
如果不再需要此结构,则必须通过调用 WsFreeSecurityToken 来释放它。
返回的安全令牌可以与 WS_XML_TOKEN_MESSAGE_SECURITY_BINDING 一起使用(如果)
呈现给服务。
[in, optional] error
指向 WS_ERROR 结构的指针,该结构在函数失败时接收其他错误信息。
返回值
如果函数成功,则返回NO_ERROR;否则,它将返回 HRESULT 错误代码。
返回代码 | 说明 |
---|---|
|
一个或多个参数无效。 |
|
内存不足,无法完成操作。 |
|
此函数可能会返回上面未列出的其他错误。 |
要求
最低受支持的客户端 | Windows 7 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | webservices.h |
Library | WebServices.lib |
DLL | WebServices.dll |