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


Снего

Snego, идентификатор службы проверки подлинности которого RPC_C_AUTHN_GSS_NEGOTIATE, фактически не предоставляет службы проверки подлинности. Вместо этого он принимает список служб проверки подлинности и согласовывает службу, которая будет работать между клиентом и сервером. Параметры проверки подлинности не используются Snego, но передаются выбранной службе проверки подлинности, которая выполняет фактическую проверку подлинности. В документе RFC 2478 года snego стандартизировала целевая группа по разработке Интернета (IETF) в документе RFC 2478.

Снего полезно, если вы не знаете, какие службы проверки подлинности могут предоставлять удаленный компьютер.

Чтобы использовать Snego, клиент и сервер должны указать Snego в качестве службы проверки подлинности. Сервер указывает RPC_C_AUTHN_GSS_NEGOTIATE в качестве члена dwAuthnSvc одной из структур SOLE_AUTHENTICATION_SERVICE в параметре массива asAuthSvc, передаваемом в CoInitializeSecurity. Клиент может указать Snego, вызвав CoSetProxyBlanket и передав RPC_C_AUTHN_GSS_NEGOTIATE в качестве параметра dwAuthnSvc . Клиент также должен предоставить список возможных служб проверки подлинности для Snego через член PackageList структуры SEC_WINNT_AUTH_IDENTITY_EX, передаваемой параметру pAuthInfo в вызове CoSetProxyBlanket. Если pAuthInfo имеет значение NULL, Snego создает список служб проверки подлинности из пакетов безопасности, установленных на компьютере. Затем Snego отправляет список служб проверки подлинности на сервер, сравнивает список с доступными службами проверки подлинности сервера и выбирает службу проверки подлинности, используемую для подключения.

Примечание.

Schannel не может находиться в списке служб проверки подлинности, которые использует Snego.

 

Клиенты также могут указывать Snego при вызове CoInitializeSecurity. Параметры dwAuthnSvc и pAuthInfo coSetProxyBlanket становятся членами структуры SOLE_AUTHENTICATION_INFO, передаваемой в CoInitializeSecurity через его параметр pAuthList. Сведения о значениях этих элементов совпадают с описанными в предыдущем абзаце.

Если используется Snego, вызовы CoQueryProxyBlanket или CoQueryClientBlanket возвращают Snego в качестве службы проверки подлинности, а не фактическую службу проверки подлинности, которую Snego выбрал для установления подключения.

ПАКЕТЫ COM и безопасности