TokenBindingGenerateBinding 函数 (tokenbinding.h)
构造一个令牌绑定,该绑定包含导出的公钥和签名,方法是使用令牌绑定的指定密钥类型、用于创建和检索令牌绑定密钥的目标标识符字符串以及唯一数据。 如果需要,此函数还会返回令牌绑定标识符。
语法
SECURITY_STATUS TokenBindingGenerateBinding(
[in] TOKENBINDING_KEY_PARAMETERS_TYPE keyType,
[in] PCWSTR targetURL,
[in] TOKENBINDING_TYPE bindingType,
[in] const void *tlsEKM,
[in] DWORD tlsEKMSize,
[in] TOKENBINDING_EXTENSION_FORMAT extensionFormat,
[in] const void *extensionData,
[out] void **tokenBinding,
[out] DWORD *tokenBindingSize,
[out, optional] TOKENBINDING_RESULT_DATA **resultData
);
参数
[in] keyType
要使用的协商密钥类型。 使用通过调用 TokenBindingGetKeyTypesClient 函数检索的密钥类型列表中的值。
[in] targetURL
要与密钥类型一起使用的目标字符串,用于为生成 tokenBinding 参数的缓冲区的 NCrypt 操作生成或检索令牌绑定密钥。
[in] bindingType
TokenBindingGenerateBinding 应生成的令牌绑定类型。
[in] tlsEKM
指向包含唯一数据的缓冲区的指针。
[in] tlsEKMSize
tlsUnique 参数指向的缓冲区的大小(以字节为单位)。
[in] extensionFormat
用于解释 extensionData 参数中的数据的格式。 此值必须 TOKENBINDING_EXTENSION_FORMAT_UNDEFINED。
[in] extensionData
指向包含扩展数据的缓冲区的指针。 extensionFormat 参数的值确定如何解释此数据。
[out] tokenBinding
一个指针,用于接收令牌绑定缓冲区的地址。 使用 HeapAlloc 函数为此缓冲区分配内存,使用 HeapFree 函数释放该内存。
[out] tokenBindingSize
指向变量的指针,该变量接收为 tokenBinding 参数分配的缓冲区大小(以字节为单位)。
[out, optional] resultData
一个指针,用于接收缓冲区的地址,该缓冲区包含结果数据,其中包括 TokenBindingGenerateBinding 生成的令牌绑定的令牌绑定标识符。 使用 HeapAlloc 函数为此缓冲区分配内存,使用 HeapFree 函数释放该内存。 指定 NULL 是不需要此信息。
返回值
返回指示函数成功或失败的状态代码。
注解
可以从用户模式调用 TokenBindingGenerateBinding 。
要求
最低受支持的客户端 | Windows 10 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2016 [仅限桌面应用] |
目标平台 | Windows |
标头 | tokenbinding.h |
Library | Tokenbinding.lib |
DLL | Tokenbinding.dll |