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


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

Массив структур WS_XML_SECURITY_TOKEN_PROPERTY , содержащий необязательные свойства для маркера безопасности XML.

Значение этого параметра может иметь значение NULL. В этом случае параметр propertyCount должен иметь значение 0 (ноль).

[in] propertyCount

Число свойств в массиве свойств .

token

При успешном выполнении указатель, получающий адрес структуры WS_SECURITY_TOKEN , представляющей созданный маркер безопасности XML.

Если эта структура больше не нужна, ее необходимо освободить, вызвав 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
Header webservices.h
Библиотека WebServices.lib
DLL WebServices.dll