Compartir a través de


estructura PPP_EAP_OUTPUT (raseapif.h)

El protocolo de autenticación usa la estructura de PPP_EAP_OUTPUT para comunicar las solicitudes y la información de estado al Administrador de conexiones devuelta desde llamadas a RasEapMakeMessage.

Sintaxis

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;

Miembros

dwSizeInBytes

Especifica el tamaño de esta estructura.

Action

Especifica un valor de PPP_EAP_ACTION . El Administrador de conexiones lleva a cabo esta acción en nombre del protocolo de autenticación.

dwAuthResultCode

Especifica si la autenticación se realizó correctamente. Cualquier valor distinto de cero para dwAuthResultCode indica un error. El código de error debe provenir de Winerror.h, Raserror.h o Mprerror.h. Este miembro solo es válido si el miembro Action tiene un valor de EAPACTION_Done o EAPACTION_SendAndDone.

pUserAttributes

Puntero a una matriz opcional de estructuras de RAS_AUTH_ATTRIBUTE . La matriz finaliza mediante una estructura con un miembro raaType que tiene un valor de raatMinimum (vea RAS_AUTH_ATTRIBUTE_TYPE).

Este miembro debe establecerse en el lado autenticador cuando Action está EAPACTION_Authenticate, o cuando Action es EAPACTION_Done o EAPACTION_SendAndDone y dwAuthResultCode es cero.

Cuando Action es EAPACTION_Authenticate, la matriz puede contener atributos adicionales necesarios para autenticar al usuario, por ejemplo, la contraseña de usuario. Si el protocolo de autenticación solo pasa el nombre de usuario, RAS no invoca al proveedor de autenticación para autenticar al usuario; en su lugar, RAS simplemente pasa los atributos actuales para el usuario.

Cuando Action es EAPACTION_Done o EAPACTION_SendAndDone, y dwAuthResultCode es cero, la matriz puede contener atributos adicionales para asignar al usuario. Estos atributos sobrescriben los atributos del mismo tipo devueltos por el proveedor de autenticación.

El protocolo de autenticación libera esta memoria en su función RasEapEnd .

fInvokeInteractiveUI

Especifica si RAS debe invocar la interfaz de usuario interactiva del protocolo de autenticación. Si el protocolo de autenticación establece este miembro en TRUE, RAS invoca la interfaz de usuario interactiva llamando a la función RasEapInvokeInteractiveUI proporcionada por el protocolo de autenticación.

pUIContextData

Puntero a datos de contexto que RAS debe pasar en la llamada a RasEapInvokeInteractiveUI. El protocolo de autenticación debe liberar esta memoria en su implementación de RasEapEnd.

dwSizeOfUIContextData

Especifica el tamaño de los datos de contexto que RAS debe pasar en la llamada a RasEapInvokeInteractiveUI.

fSaveConnectionData

Especifica si RAS debe guardar la información a la que apunta el miembro pConnectionData . Si fSaveConnectionData es TRUE, RAS guardará los datos en la libreta de teléfonos. Solo es válido para el proceso que se está autenticando.

pConnectionData

Identifica los datos específicos de la conexión, es decir, los datos no son específicos de ningún usuario determinado. Si el miembro fSaveConnectionData es TRUE, RAS guarda los datos de conexión en la libreta de teléfonos. El protocolo de autenticación debe liberar la memoria ocupada por estos datos durante la llamada a RasEapEnd.

dwSizeOfConnectionData

Especifica el tamaño, en bytes, de los datos a los que apunta el miembro pConnectionData .

fSaveUserData

Especifica si RAS debe guardar los datos de usuario a los que apunta el miembro pUserData . Si este parámetro es TRUE, RAS guarda los datos específicos del usuario en el registro en HKEY_CURRENT_USER.

pUserData

Puntero a los datos de usuario que RAS debe guardar en el registro. RAS guarda estos datos en el Registro en HKEY_CURRENT_USER. El protocolo de autenticación debe liberar esta memoria durante la llamada a RasEapEnd.

dwSizeOfUserData

Especifica el tamaño en bytes de los datos a los que apunta pUserData.

pNgcKerbTicket

fSaveToCredMan

Comentarios

Use la función RasEapMakeMessage para pasar la estructura de PPP_EAP_OUTPUT entre el protocolo de autenticación y el Administrador de conexiones.

El protocolo de autenticación puede usar la estructura PPP_EAP_OUTPUT para devolver las claves de sesión de cifrado de punto a punto (MPPE) de Microsoft. El protocolo de autenticación debe colocar las claves de sesión en el campo de valor de un subatributo contenido en el campo de valor de un atributo de tipo raatVendorSpecific (vea RAS_AUTH_ATTRIBUTE_TYPE). El sub-atributo debe tener un identificador de proveedor de 311 (Microsoft) y un tipo de proveedor de MS-MPPE-Recv-Keys (17) y MS-MPPE-Send-Keys (16). El protocolo de autenticación debe establecer el miembro pUserAttributes para que apunte al atributo raatVendorSpecific y establezca el miembro Action en EAPACTION_Done o EAPACTION_SendAndDone. Para obtener más información sobre el formato del sub-atributo MPPE, vea Atributos RADIUS específicos del proveedor de Microsoft. Para obtener más información sobre los formatos de atributo, consulte RAS_AUTH_ATTRIBUTE, RAS_AUTH_ATTRIBUTE_TYPE y RFC 2865.

Nota Al aplicar formato a atributos para claves de cifrado, se recomienda encarecidamente usar MSCHAPv2 y sus claves MS-MPPE-Recv-Keys y MS-MPPE-Send-Keys, que crean un cifrado seguro en lugar de MSCHAPv1 y sus claves MS-CHAP-MPPE-.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado raseapif.h

Consulte también

Estructuras del EAP

Referencia de protocolo de autenticación extensible

PPP_EAP_ACTION

RAS_AUTH_ATTRIBUTE

RasEapInvokeInteractiveUI

RasEapMakeMessage