Снего
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 выбрал для установления подключения.
См. также