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


структура PPP_EAP_OUTPUT (raseapif.h)

Протокол проверки подлинности использует структуру PPP_EAP_OUTPUT для передачи запросов и сведений о состоянии диспетчер подключений при возвращении из вызовов RasEapMakeMessage.

Синтаксис

typedef struct _PPP_EAP_OUTPUT {
  DWORD              dwSizeInBytes;
  PPP_EAP_ACTION     Action;
  DWORD              dwAuthResultCode;
  RAS_AUTH_ATTRIBUTE *pUserAttributes;
  BOOL               fInvokeInteractiveUI;
  PBYTE              pUIContextData;
  DWORD              dwSizeOfUIContextData;
  BOOL               fSaveConnectionData;
  PBYTE              pConnectionData;
  DWORD              dwSizeOfConnectionData;
  BOOL               fSaveUserData;
  PBYTE              pUserData;
  DWORD              dwSizeOfUserData;
  NgcTicketContext   *pNgcKerbTicket;
  BOOL               fSaveToCredMan;
} PPP_EAP_OUTPUT, *PPPP_EAP_OUTPUT;

Члены

dwSizeInBytes

Задает размер этой структуры.

Action

Задает значение PPP_EAP_ACTION . Диспетчер подключений выполняет это действие от имени протокола проверки подлинности.

dwAuthResultCode

Указывает, прошла ли проверка подлинности успешно. Любое ненулевое значение для dwAuthResultCode указывает на сбой. Код сбоя должен поступать из Winerror.h, Raserror.h или Mprerror.h. Этот элемент действителен, только если элемент Action имеет значение EAPACTION_Done или EAPACTION_SendAndDone.

pUserAttributes

Указатель на необязательный массив структур RAS_AUTH_ATTRIBUTE . Массив завершается структурой с элементом raaType со значением raatMinimum (см . RAS_AUTH_ATTRIBUTE_TYPE).

Этот элемент следует задать на стороне средства проверки подлинности, если действие EAPACTION_Authenticate или если действиеEAPACTION_Done или EAPACTION_SendAndDone и dwAuthResultCode равно нулю.

Если действиеEAPACTION_Authenticate, массив может содержать дополнительные атрибуты, необходимые для проверки подлинности пользователя, например пароль пользователя. Если протокол проверки подлинности передает только имя пользователя, RAS не вызывает поставщика проверки подлинности для проверки подлинности пользователя. Вместо этого RAS просто передает текущие атрибуты для пользователя.

Если параметр ActionEAPACTION_Done или EAPACTION_SendAndDone, а dwAuthResultCode равен нулю, массив может содержать дополнительные атрибуты, назначаемые пользователю. Эти атрибуты перезаписывают все атрибуты того же типа, возвращенные поставщиком проверки подлинности.

Протокол проверки подлинности освобождает эту память с помощью функции RasEapEnd .

fInvokeInteractiveUI

Указывает, должен ли RAS вызывать интерактивный пользовательский интерфейс протокола проверки подлинности. Если протокол проверки подлинности задает для этого элемента значение TRUE, RAS вызывает интерактивный пользовательский интерфейс, вызывая функцию RasEapInvokeInteractiveUI , предоставляемую протоколом проверки подлинности.

pUIContextData

Указатель на контекстные данные, которые RAS должен передавать в вызове RasEapInvokeInteractiveUI. Протокол проверки подлинности должен освободить эту память в реализации RasEapEnd.

dwSizeOfUIContextData

Указывает размер данных контекста, которые RAS должен передавать при вызове RasEapInvokeInteractiveUI.

fSaveConnectionData

Указывает, должен ли RAS сохранять сведения, на которые указывает элемент pConnectionData . Если параметр fSaveConnectionData имеет значение TRUE, RAS сохранит данные в телефонной книге. Допустимо только для процесса, который проходит проверку подлинности.

pConnectionData

Определяет данные, относящиеся к подключению, то есть данные, не относящиеся к конкретному пользователю. Если элемент fSaveConnectionData имеет значение TRUE, RAS сохраняет данные подключения в телефонной книге. Протокол проверки подлинности должен освободить память, занятую данными, во время вызова RasEapEnd.

dwSizeOfConnectionData

Задает размер (в байтах) данных, на которые указывает элемент pConnectionData .

fSaveUserData

Указывает, должен ли RAS сохранять пользовательские данные, на которые указывает элемент pUserData . Если этот параметр имеет значение TRUE, RAS-файл сохраняет пользовательские данные в реестре в разделе HKEY_CURRENT_USER.

pUserData

Указатель на пользовательские данные, которые RAS-файл должен сохранить в реестре. RAS сохраняет эти данные в реестре в HKEY_CURRENT_USER. Протокол проверки подлинности должен освободить эту память во время вызова RasEapEnd.

dwSizeOfUserData

Указывает размер данных в байтах, на которые указывает pUserData.

pNgcKerbTicket

fSaveToCredMan

Комментарии

Используйте функцию RasEapMakeMessage для передачи структуры PPP_EAP_OUTPUT между протоколом проверки подлинности и диспетчер подключений.

Протокол проверки подлинности может использовать структуру PPP_EAP_OUTPUT для возврата ключей сеанса шифрования "точка — точка" (Майкрософт) (MPPE). Протокол проверки подлинности должен поместить ключи сеанса в поле значения подаспециализированного атрибута типа raatVendorSpecific (см . RAS_AUTH_ATTRIBUTE_TYPE). Вложенный атрибут должен иметь идентификатор поставщика 311 (Майкрософт) и тип поставщика MS-MPPE-Recv-Keys (17) и MS-MPPE-Send-Keys (16). Протокол проверки подлинности должен задать элемент pUserAttributes , указывающий на атрибут raatVendorSpecific , и задать для элемента Actionзначение EAPACTION_Done или EAPACTION_SendAndDone. Дополнительные сведения о формате вложенного атрибута MPPE см. в разделе Атрибуты RADIUS, относящиеся к поставщику Майкрософт. Дополнительные сведения о форматах атрибутов см . в статье RAS_AUTH_ATTRIBUTE, RAS_AUTH_ATTRIBUTE_TYPE и RFC 2865.

Примечание При форматировании атрибутов для ключей шифрования настоятельно рекомендуется использовать MSCHAPv2 и его MS-MPPE-Recv-Keys и MS-MPPE-Send-Keys, которые создают надежное шифрование , а не MSCHAPv1 и его MS-CHAP-MPPE-Keys.
 

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть raseapif.h

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

Структуры EAP

Справочник по протоколу расширенной проверки подлинности

PPP_EAP_ACTION

RAS_AUTH_ATTRIBUTE

RasEapInvokeInteractiveUI

RasEapMakeMessage