Снего
Snego, идентификатор службы проверки подлинности которого RPC_C_AUTHN_GSS_NEGOTIATE, фактически не предоставляет службы проверки подлинности. Вместо этого он принимает список служб проверки подлинности и согласовывает службу, которая будет работать между клиентом и сервером. Параметры проверки подлинности не используются Snego, но передаются выбранной службе проверки подлинности, которая выполняет фактическую проверку подлинности. В декабре 1998 года В документе RFC 2478Snego стандартизировала целевая группа по разработке Интернета (IETF).
Снего полезно, если вы не знаете, какие службы проверки подлинности могут предоставлять удаленный компьютер.
Чтобы использовать 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. Если pAuthInfoNULL, Snego создает список служб проверки подлинности из пакетов безопасности, установленных на компьютере. Затем Snego отправляет список служб проверки подлинности на сервер, сравнивает список с доступными службами проверки подлинности сервера и выбирает службу проверки подлинности, используемую для подключения.
Заметка
Schannel не может находиться в списке служб проверки подлинности, которые использует Snego.
Клиенты также могут указывать Snego при вызове CoInitializeSecurity. Параметры dwAuthnSvc и pAuthInfoCoSetProxyBlanket становятся членами структуры SOLE_AUTHENTICATION_INFO, передаваемой CoInitializeSecurity через параметр pAuthList. Сведения о значениях этих элементов совпадают с описанными в предыдущем абзаце.
Если используется Snego, вызовы к CoQueryProxyBlanket или CoQueryClientBlanket вернет Snego в качестве службы проверки подлинности, а не фактическую службу проверки подлинности, которую Snego выбрал для установления подключения.
Связанные разделы