Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zabezpieczone połączenie protokołu EAP jest inicjowane między klientem a serwerem w podobny sposób dla klientów RAS i bezprzewodowych (802.1X).
Klient
Gdy klient próbuje nawiązać połączenie, usługa uwierzytelniania uzyskuje informacje o tożsamości dla użytkownika. Jeśli wartość RAS_EAP_VALUENAME_INVOKE_NAMEDLG znajduje się w rejestrze dla tego protokołu uwierzytelniania i ta wartość jest ustawiona na zero, usługa uwierzytelniania wywołuje RasEapGetIdentity. Ta funkcja zazwyczaj wyświetla interfejs użytkownika, który umożliwia uzyskanie informacji o tożsamości jako typu specyficznego dla protokołu uwierzytelniania; na przykład certyfikat lub identyfikator liczbowy. Jeśli RAS_EAP_VALUENAME_INVOKE_NAMEDLG nie istnieje lub jest ustawiona na jedną, usługa uwierzytelniania wyświetla standardowe okno dialogowe nazwy użytkownika systemu.
Po uzyskaniu informacji o tożsamości użytkownika usługa uwierzytelniania wywołuje implementację protokołu uwierzytelniania RasEapBegin. To wywołanie umożliwia protokołowi uwierzytelniania przydzielanie i inicjowanie buforu roboczego przekazywanego przez usługę na kolejne wywołania do RasEapMakeMessage i RasEapEnd. Bufor pracy jest nieprzezroczystym dla usługi i nigdy nie uzyskuje dostępu do zawartości buforu pracy. Jeśli protokół uwierzytelniania tworzy odrębny bufor pracy dla każdej sesji protokołu EAP, bufor pracy jest bezpieczny dla sesji i wątku. Ponieważ protokół uwierzytelniania przydziela pamięć dla buforu roboczego, protokół uwierzytelniania powinien również zwolnić tę pamięć przy użyciu funkcji RasEapFreeMemory.
W wywołaniu polecenia RasEapBeginusługa przekazuje również PPP_EAP_INPUT strukturę zawierającą wskaźniki do informacji o konfiguracji połączenia oraz informacje o tożsamości użytkownika. Usługa zawsze przekazuje wartość elementu pszIdentity elementu członkowskiego PPP_EAP_INPUT. Jednak elementu członkowskiego PPP_EAP_INPUT pszPassword może być null.
W strukturze PPP_EAP_INPUT element członkowski fAuthenticator wskazuje, czy protokół uwierzytelniania jest wywoływany do uwierzytelnienia (na kliencie) lub jako wystawca uwierzytelnienia (na serwerze).
Serwer
Na serwerze bInitialID elementu członkowskiego PPP_EAP_INPUT określa identyfikator używany przez serwer dla pierwszego pakietu protokołu EAP. Serwer zwiększa ten identyfikator dla kolejnych pakietów.
Również na serwerze pUserAttributes wskaźnik w PPP_EAP_INPUT wskazuje tablicę atrybutów typu RAS_AUTH_ATTRIBUTE_TYPE. Są to atrybuty dla użytkownika uzyskanego od klienta.
Jeśli wywołanie RasEapBegin zwraca dowolną wartość inną niż NO_ERROR, sesja zostanie rozłączona. Zwrócony błąd jest rejestrowany (na serwerze) lub wyświetlany użytkownikowi (na kliencie).