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

另请参阅

HeapAlloc

HeapFree

TOKENBINDING_EXTENSION_FORMAT

TOKENBINDING_RESULT_DATA

TOKENBINDING_TYPE

TokenBindingDeleteBinding

TokenBindingGetKeyTypesClient