Поделиться через


Функция 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

Целевая строка, используемая в сочетании с типом ключа для создания или извлечения ключа привязки маркера для операций NCrypt, которые создают буфер для параметра tokenBinding .

[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
Header tokenbinding.h
Библиотека Tokenbinding.lib
DLL Tokenbinding.dll

См. также раздел

HeapAlloc

КучаFree

TOKENBINDING_EXTENSION_FORMAT

TOKENBINDING_RESULT_DATA

TOKENBINDING_TYPE

TokenBindingDeleteBinding

TokenBindingGetKeyTypesClient