PPP_EAP_OUTPUT structure (raseapif.h)

Le protocole d’authentification utilise la structure de PPP_EAP_OUTPUT pour communiquer des demandes et des informations status au Gestionnaire des connexions lors du retour d’appels à RasEapMakeMessage.

Syntaxe

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;

Membres

dwSizeInBytes

Spécifie la taille de cette structure.

Action

Spécifie une valeur PPP_EAP_ACTION . Le Gestionnaire des connexions effectue cette action pour le compte du protocole d’authentification.

dwAuthResultCode

Spécifie si l’authentification a réussi. Toute valeur différente de zéro pour dwAuthResultCode indique un échec. Le code d’échec doit provenir de Winerror.h, Raserror.h ou Mprerror.h. Ce membre est valide uniquement si le membre Action a une valeur de EAPACTION_Done ou EAPACTION_SendAndDone.

pUserAttributes

Pointeur vers un tableau facultatif de structures RAS_AUTH_ATTRIBUTE . Le tableau est terminé par une structure avec un membre raaType dont la valeur est raatMinimum (voir RAS_AUTH_ATTRIBUTE_TYPE).

Ce membre doit être défini côté authentificateur lorsque Action est EAPACTION_Authenticate, ou lorsque Action est EAPACTION_Done ou EAPACTION_SendAndDone et que dwAuthResultCode est égal à zéro.

Lorsque Action est EAPACTION_Authenticate, le tableau peut contenir des attributs supplémentaires nécessaires pour authentifier l’utilisateur, par exemple le mot de passe utilisateur. Si le protocole d’authentification transmet uniquement le nom d’utilisateur, RAS n’appelle pas le fournisseur d’authentification pour authentifier l’utilisateur. Au lieu de cela, RAS transmet simplement les attributs actuels pour l’utilisateur.

Lorsque Action est EAPACTION_Done ou EAPACTION_SendAndDone et que dwAuthResultCode est égal à zéro, le tableau peut contenir des attributs supplémentaires à affecter à l’utilisateur. Ces attributs remplacent tous les attributs du même type retournés par le fournisseur d’authentification.

Le protocole d’authentification libère cette mémoire dans sa fonction RasEapEnd .

fInvokeInteractiveUI

Spécifie si RAS doit appeler l’interface utilisateur interactive du protocole d’authentification. Si le protocole d’authentification définit ce membre sur TRUE, RAS appelle l’interface utilisateur interactive en appelant la fonction RasEapInvokeInteractiveUI fournie par le protocole d’authentification.

pUIContextData

Pointeur vers les données de contexte que RAS doit passer dans l’appel à RasEapInvokeInteractiveUI. Le protocole d’authentification doit libérer cette mémoire dans son implémentation de RasEapEnd.

dwSizeOfUIContextData

Spécifie la taille des données de contexte que RAS doit passer dans l’appel à RasEapInvokeInteractiveUI.

fSaveConnectionData

Spécifie si RAS doit enregistrer les informations pointées par le membre pConnectionData . Si fSaveConnectionData a la valeur TRUE, RAS enregistre les données dans l’annuaire téléphonique. Valide uniquement pour le processus en cours d’authentification.

pConnectionData

Identifie les données spécifiques à la connexion, c’est-à-dire les données qui ne sont pas spécifiques à un utilisateur particulier. Si le membre fSaveConnectionData a la valeur TRUE, RAS enregistre les données de connexion dans l’annuaire téléphonique. Le protocole d’authentification doit libérer la mémoire occupée par ces données pendant l’appel à RasEapEnd.

dwSizeOfConnectionData

Spécifie la taille, en octets, des données pointées par le membre pConnectionData .

fSaveUserData

Spécifie si RAS doit enregistrer les données utilisateur pointées par le membre pUserData . Si ce paramètre a la valeur TRUE, RAS enregistre les données spécifiques à l’utilisateur dans le Registre sous HKEY_CURRENT_USER.

pUserData

Pointeur vers les données utilisateur que RAS doit enregistrer dans le Registre. RAS enregistre ces données dans le Registre sous HKEY_CURRENT_USER. Le protocole d’authentification doit libérer cette mémoire pendant l’appel à RasEapEnd.

dwSizeOfUserData

Spécifie la taille en octets des données pointées par pUserData.

pNgcKerbTicket

fSaveToCredMan

Remarques

Utilisez la fonction RasEapMakeMessage pour passer la structure PPP_EAP_OUTPUT entre le protocole d’authentification et le Gestionnaire des connexions.

Le protocole d’authentification peut utiliser la structure PPP_EAP_OUTPUT pour retourner les clés de session MPPE (Microsoft Point-to-Point Encryption). Le protocole d’authentification doit placer les clés de session dans le champ de valeur d’un sous-attribut contenu dans le champ de valeur d’un attribut de type raatVendorSpecific (voir RAS_AUTH_ATTRIBUTE_TYPE). Le sous-attribut doit avoir un ID de fournisseur de 311 (Microsoft) et un type de fournisseur de MS-MPPE-Recv-Keys (17) et MS-MPPE-Send-Keys (16). Le protocole d’authentification doit définir le membre pUserAttributes pour qu’il pointe vers l’attribut raatVendorSpecific et définir le membre Actionsur EAPACTION_Done ou EAPACTION_SendAndDone. Pour plus d’informations sur le format du sous-attribut MPPE, consultez Attributs RADIUS spécifiques au fournisseur Microsoft. Pour plus d’informations sur les formats d’attributs, consultez RAS_AUTH_ATTRIBUTE, RAS_AUTH_ATTRIBUTE_TYPE et RFC 2865.

Note Lors de la mise en forme des attributs pour les clés de chiffrement, il est vivement recommandé d’utiliser MSCHAPv2 et ses ms-MPPE-Recv-Keys et MS-MPPE-Send-Keys, qui créent un chiffrement fort plutôt que MSCHAPv1 et ses clés MS-CHAP-MPPE-Keys.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête raseapif.h

Voir aussi

Structures EAP

Informations de référence sur le protocole d’authentification extensible

PPP_EAP_ACTION

RAS_AUTH_ATTRIBUTE

RasEapInvokeInteractiveUI

RasEapMakeMessage