Freigeben über


PPP_EAP_OUTPUT-Struktur (raseapif.h)

Das Authentifizierungsprotokoll verwendet die PPP_EAP_OUTPUT-Struktur, um Anforderungen und status Informationen an die Verbindungs-Manager zu übermitteln, wenn sie von Aufrufen von RasEapMakeMessage zurückgegeben werden.

Syntax

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;

Member

dwSizeInBytes

Gibt die Größe dieser Struktur an.

Action

Gibt einen PPP_EAP_ACTION Wert an. Die Verbindungs-Manager führt diese Aktion im Namen des Authentifizierungsprotokolls aus.

dwAuthResultCode

Gibt an, ob die Authentifizierung erfolgreich war. Jeder nonzero-Wert für dwAuthResultCode weist auf einen Fehler hin. Der Fehlercode muss von Winerror.h, Raserror.h oder Mprerror.h stammen. Dieser Member ist nur gültig, wenn der Aktionsmember den Wert EAPACTION_Done oder EAPACTION_SendAndDone aufweist.

pUserAttributes

Zeiger auf ein optionales Array von RAS_AUTH_ATTRIBUTE Strukturen. Das Array wird durch eine Struktur mit einem raaType-Member beendet, das den Wert raatMinimum aufweist (siehe RAS_AUTH_ATTRIBUTE_TYPE).

Dieser Member sollte auf der Authentifikatorseite festgelegt werden, wenn AktionEAPACTION_Authenticate ist oder wenn ActionEAPACTION_Done oder EAPACTION_SendAndDone ist und dwAuthResultCode 0 ist.

Wenn AktionEAPACTION_Authenticate ist, kann das Array zusätzliche Attribute enthalten, die zur Authentifizierung des Benutzers erforderlich sind, z. B. das Benutzerkennwort. Wenn das Authentifizierungsprotokoll nur den Benutzernamen übergibt, ruft RAS den Authentifizierungsanbieter nicht auf, um den Benutzer zu authentifizieren. Stattdessen übergibt RAS nur die aktuellen Attribute für den Benutzer.

Wenn ActionEAPACTION_Done oder EAPACTION_SendAndDone ist und dwAuthResultCode null ist, kann das Array zusätzliche Attribute enthalten, die dem Benutzer zugewiesen werden sollen. Diese Attribute überschreiben alle Attribute desselben Typs, die vom Authentifizierungsanbieter zurückgegeben werden.

Das Authentifizierungsprotokoll gibt diesen Arbeitsspeicher in seiner RasEapEnd-Funktion frei.

fInvokeInteractiveUI

Gibt an, ob RAS die interaktive Benutzeroberfläche des Authentifizierungsprotokolls aufrufen soll. Wenn das Authentifizierungsprotokoll diesen Member auf TRUE festlegt, ruft RAS die interaktive Benutzeroberfläche auf, indem die rasEapInvokeInteractiveUI-Funktion aufgerufen wird, die vom Authentifizierungsprotokoll bereitgestellt wird.

pUIContextData

Zeiger auf Kontextdaten, die RAS im Aufruf von RasEapInvokeInteractiveUI übergeben soll. Das Authentifizierungsprotokoll sollte diesen Arbeitsspeicher bei der Implementierung von RasEapEnd freigeben.

dwSizeOfUIContextData

Gibt die Größe der Kontextdaten an, die RAS im Aufruf von RasEapInvokeInteractiveUI übergeben soll.

fSaveConnectionData

Gibt an, ob RAS die Informationen speichern soll, auf die vom pConnectionData-Member verwiesen wird. Wenn fSaveConnectionDataTRUE ist, speichert RAS die Daten im Telefonbuch. Nur gültig für den Prozess, der authentifiziert wird.

pConnectionData

Identifiziert verbindungsspezifische Daten, d. h. Daten, die nicht für einen bestimmten Benutzer spezifisch sind. Wenn das fSaveConnectionData-ElementTRUE ist, speichert RAS die Verbindungsdaten im Telefonbuch. Das Authentifizierungsprotokoll sollte den Speicher freigeben, der während des Aufrufs von RasEapEnd von diesen Daten belegt wird.

dwSizeOfConnectionData

Gibt die Größe der Daten in Bytes an, auf die vom pConnectionData-Member verwiesen wird .

fSaveUserData

Gibt an, ob RAS die Benutzerdaten speichern soll, auf die vom pUserData-Member verwiesen wird. Wenn dieser Parameter TRUE ist, speichert RAS die benutzerspezifischen Daten in der Registrierung unter HKEY_CURRENT_USER.

pUserData

Zeiger auf Benutzerdaten, die RAS in der Registrierung speichern soll. RAS speichert diese Daten in der Registrierung unter HKEY_CURRENT_USER. Das Authentifizierungsprotokoll sollte diesen Arbeitsspeicher während des Aufrufs von RasEapEnd freigeben.

dwSizeOfUserData

Gibt die Größe der Daten in Bytes an, auf die von pUserData verwiesen wird.

pNgcKerbTicket

fSaveToCredMan

Hinweise

Verwenden Sie die RasEapMakeMessage-Funktion, um die PPP_EAP_OUTPUT-Struktur zwischen dem Authentifizierungsprotokoll und dem Verbindungs-Manager zu übergeben.

Das Authentifizierungsprotokoll kann die PPP_EAP_OUTPUT-Struktur verwenden, um die MPPE-Sitzungsschlüssel (Point-to-Point Encryption) von Microsoft zurückzugeben. Das Authentifizierungsprotokoll muss die Sitzungsschlüssel im Wertfeld eines Subattributs platzieren, das im Wertfeld eines Attributs vom Typ raatVendorSpecific enthalten ist (siehe RAS_AUTH_ATTRIBUTE_TYPE). Das Sub-Attribut sollte eine Vendor-ID von 311 (Microsoft) und Vendor-Type von MS-MPPE-Recv-Keys (17) und MS-MPPE-Send-Keys (16) aufweisen. Das Authentifizierungsprotokoll muss festlegen, dass der pUserAttributes-Member auf das raatVendorSpecific-Attribut verweist, und das Aktionselement auf EAPACTION_Done oder EAPACTION_SendAndDone festlegen. Weitere Informationen zum Format des MPPE-Unterattributes finden Sie unter Microsoft Vendor-specific RADIUS Attributes. Weitere Informationen zu Attributformaten finden Sie unter RAS_AUTH_ATTRIBUTE, RAS_AUTH_ATTRIBUTE_TYPE und RFC 2865.

Hinweis Beim Formatieren von Attributen für Verschlüsselungsschlüssel wird dringend empfohlen, MSCHAPv2 und seine MS-MPPE-Recv-Keys und MS-MPPE-Send-Keys zu verwenden, die eine starke Verschlüsselung anstelle von MSCHAPv1 und seinen MS-CHAP-MPPE-Schlüsseln erstellen.
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile raseapif.h

Weitere Informationen

EAP-Strukturen

Referenz zu erweiterbaren Authentifizierungsprotokollen

PPP_EAP_ACTION

RAS_AUTH_ATTRIBUTE

RasEapInvokeInteractiveUI

RasEapMakeMessage