Initialisierung des Authentifizierungsprotokolls
Die EAP-gesicherte Verbindung wird für RAS- und Drahtlosclients (802.1X) auf ähnliche Weise zwischen Client und Server initialisiert.
Client
Wenn der Client versucht, die Verbindung herzustellen, ruft der Authentifizierungsdienst Identitätsinformationen für den Benutzer ab. Wenn der RAS _ EAP _ VALUENAME _ INVOKE _ NAMEDLG-Wert in der Registrierung für dieses Authentifizierungsprotokoll vorhanden ist und dieser Wert auf 0 (null) festgelegt ist, ruft der Authentifizierungsdienst RasEapGetIdentityauf. Diese Funktion zeigt in der Regel eine Benutzeroberfläche an, die es ermöglicht, dass die Identitätsinformationen einen für das Authentifizierungsprotokoll spezifischen Typ aufweisen. z. B. ein Zertifikat oder eine numerische ID. Wenn RAS _ EAP _ VALUENAME INVOKE _ _ NAMEDLG nicht vorhanden ist oder auf 1 festgelegt ist, zeigt der Authentifizierungsdienst das Dialogfeld Standardsystembenutzername an.
Sobald der Authentifizierungsdienst die Identitätsinformationen für den Benutzer abgerufen hat, ruft er die Implementierung des Authentifizierungsprotokolls von RasEapBeginauf. Mit diesem Aufruf kann das Authentifizierungsprotokoll einen Arbeitspuffer zuordnen und initialisieren, den der Dienst bei nachfolgenden Aufrufen von RasEapMakeMessage und RasEapEndübergibt. Der Arbeitspuffer ist für den Dienst nicht transparent und greift nie auf den Inhalt des Arbeitspuffers zu. Wenn das Authentifizierungsprotokoll einen eigenen Arbeitspuffer für jede EAP-Sitzung erstellt, ist der Arbeitspuffer sitzungs- und threadsicher. Da das Authentifizierungsprotokoll den Arbeitsspeicher für den Arbeitspuffer zuordnet, sollte das Authentifizierungsprotokoll diesen Arbeitsspeicher auch mithilfe der RasEapFreeMemory-Funktion freigeben.
Beim Aufruf von RasEapBeginübergibt der Dienst auch eine _ PPS-EAP-EINGABEstruktur, _ die Zeiger auf die Konfigurationsinformationen für die Verbindung und die Identitätsinformationen für den Benutzer enthält. Der Dienst übergibt immer einen Wert für den pszIdentity-Member von EMAILS _ EAP _ INPUT. Der pszPassword-Member von _ PPEAP _ INPUT kann jedoch NULL sein.
Innerhalb der _ EAP _ INPUT-Struktur von PPS gibt der fAuthenticator-Member an, ob das Authentifizierungsprotokoll für die Authentifizierung (auf dem Client) oder als Authenticator (auf dem Server) aufgerufen wird.
Server
Auf dem Server gibt das bInitialID-Mitglied von _ EQEAP _ INPUT die ID an, die der Server für das erste EAP-Paket verwendet. Der Server erhöht diese ID für nachfolgende Pakete.
Auch auf dem Server zeigt der pUserAttributes-Zeiger in DER _ _ EAP-EINGABE für DEN CURSOR auf ein Array von Attributen des TYPS RAS _ AUTH ATTRIBUTE _ _ TYPE. Dies sind Attribute für den Benutzer, die vom Client abgerufen wurden.
Wenn der RasEapBegin-Aufruf einen anderen Wert als NO _ ERROR zurückgibt, wird die Sitzung getrennt. Der zurückgegebene Fehler wird protokolliert (auf dem Server) oder dem Benutzer (auf dem Client) angezeigt.