Dieses Thema enthält Antworten auf häufig gestellte Fragen zur EAPHost Suppli suppli über die API.
Warum muss ich "EapHostPeerInitialize" und "EapHostPeerUninitialize" aufrufen?
EapHostPeerInitialize und EapHostPeerUninitialize initialisieren und entinitialisieren die COM-Umgebung, die für die prozessübergreifende Kommunikation (Interprocess Communication, IPC) zwischen einer Supplikation und EAPHost verwendet wird.
Welche Funktionen müssen für Threads aufgerufen werden, für die COM für singlethreaded Apartment (STA) initialisiert wurde?
EapHostPeerInvokeConfigUI, EapHostPeerInvokeInteractiveUIund EapHostAuthenticatorInvokeConfigUI müssen für Threads aufgerufen werden, für die COM für STA initialisiert wurde. Dies kann durch Aufrufen der COM-API CoInitializeerreicht werden. , wenn die Suppliplizierung mit dem STA-Thread abgeschlossen ist, muss CoUninitialize aufgerufen werden, bevor beendet wird.
Wie exportiert EAPHost Schlüsselmaterial?
EAPHost-EAP-Methoden exportieren Mastersitzungsschlüssel (Master Session Keys, MSKs) in Form von Microsoft-MPPE-Schlüsseln (Point-to-Point Encryption) in die Suppli über die Suppliplizierungen. Zusätzliches Schlüsselmaterial, z. B. pmKs (Pairwise Master Keys), kann von der Supplizierung mithilfe des MSK generiert werden. Damit die Methoden während der Authentifizierung andere Schlüssel generieren können, können die Methoden diese Schlüssel als anbieterspezifische Attribute für die Supplizierungen bereitstellen.
Was ist ein erweiterter Mastersitzungsschlüssel (EXTENDED Master Session Key, EMSK)?
EMSK ist zusätzliches Schlüsselmaterial, das von der EAP-Methode exportiert wird. EMSK ist mindestens 64 Oktette lang. EMSK wird vom EAP-Client und -Server gemeinsam genutzt, aber nicht für den Authentifikator oder andere Drittanbieter. Derzeit ist EMSK für die zukünftige Verwendung reserviert. Weitere Informationen finden Sie unter Extensible Authentication Protocol EAP) Method Requirements for Wireless LANs.
Wann nutzt oder generiert eine Methode ein Attribut?
Wenn eine EAP-Methode Attribute oder EMSK generiert, nutzt die Supplizierung Attribute. In der Regel handelt es sich bei Attributen, die von Supplikationen genutzt werden, um Schlüssel. Die verwendeten Attribute sind "consumedPeerId", "consumedServerId", "consumedMethodId", "consumedEMSK"und "consumedCredentialsChanged". Weitere Informationen finden Sie unter EAP_ATTRIBUTE_TYPE. Eine EAP-Methode kann zusätzliche anwendungsspezifisches EMSK-Material exportieren, z. B.:
- Sitzungs-ID
- [Netzwerkzugriffsschutz](/windows/desktop/NAP/network-access-protection-start-page) (NAP)
Welche Attribute nutzt 802.1X?
Die native Drahtlose 802.1X-Unterstützung nutzt die folgenden EAPHost-Authentifizierungsattribute:
- Benachrichtigung zum Ändern des Kennworts
- MPPE-Sende-/Empfangsschlüssel (Point-to-Point Encryption) von Microsoft. VendorId/VendorType = 331/16 und 311/1
MPPE-Schlüssel sind Schlüssel, die am Ende der erfolgreichen Authentifizierung sowohl vom Peer als auch vom Authentifikator generiert werden. Diese Schlüssel werden von 802.1X und dem Netzwerkzugriffsserver (NAS) verwendet, um gesendete und empfangene Pakete zu verschlüsseln und zu entschlüsseln.
Was ist der Zweck des EAP_PEER_FLAG_GUEST_ACCESS-Flags in EAPHost?
Wenn dieses Flag in EAPHostPeerBeginSessionfestgelegt ist, interpretiert EAPHost dies als Anforderung für die Gastautorisierung und gibt eine NULL-Identitätsantwort zurück, die dann an die Unterstützung übergeben und an den EAP-Server zurückgegeben wird.
Wie fordert die Unterstützung die Computerauthentifizierung an?
Die Computerauthentifizierung wird angefordert, indem das flag EAP_FLAG_MACHINE_AUTH festgelegt wird.
Wie fordert die Unterstützung die Benutzerauthentifizierung an?
Die Benutzerauthentifizierung wird angefordert, indem das flag EAP_FLAG_MACHINE_AUTH nicht festgelegt wird.
Wann verwende ich "EapHostPeerFreeErrorMemory" anstelle der Funktion "EapHostFreeEapError"?
Die Funktion EapHostPeerFreeErrorMemory wird nur zum Freigeben EAP_ERROR Strukturen verwendet, die von EAPHost-Konfigurations-APIs zurückgegeben werden. EAPHost-Konfigurations-APIs werden in EapHostPeerConfigApis.h definiert. Im Gegensatz dazu wird die EapHostPeerFreeEapError-Funktion zum Freigeben EAP_ERROR Strukturen verwendet, die von EAPHost-Laufzeit-APIs zurückgegeben werden. EAPHost-Laufzeit-APIs werden in EapPApis.h definiert. Verwenden Sie niemals die Laufzeitversion der API mit der Konfigurationsversion der APIs. dies kann zu unerwarteten Ergebnissen führen.
Ich habe meine Benutzeroberfläche im gleichen Thread implementiert, den ich zum Verarbeiten einer EAP-Authentifizierungssitzung auf der Suppliplizierung verwende. Nachdem ich ein interaktives Dialogfeld für die Benutzeroberfläche zum Abrufen von Anmeldeinformationen oder anderen Benutzereingabedaten ausgelöst habe, schlägt der nächste Aufruf einer EAP-Peermethode durch EAPHost mit "ERROR_OBJECT_DISCONNECTED" fehl. Warum ist dies passiert, und wie gehe ich damit um?
Die clientseitigen EAPHost-APIs sind zwar alle APIs im C-Stil, diese C-APIs sind jedoch nur Wrapper der entsprechenden COM-APIs. Die APIs im C-Stil werden in einer Multithread-COM-Umgebung ausgeführt. Benutzeroberflächencode wird in der Regel im Apartmentthreadmodell ausgeführt. Da die beiden Threadmodelle miteinander in Konflikt geraten, führen Sie den Benutzeroberflächencode nicht in demselben Thread aus, der EAP-Authentifizierungen verarbeitet.
Warum verwendet die API "EapHostPeerBeginSession" einen Rückruffunktionszeiger "NotificationHandler" als Parameter?
NotificationHandler ist der Mechanismus, mit dem eine Unterstützung darüber benachrichtigt wird, dass sie sich erneut authentifizieren muss. Es gibt verschiedene Szenarien, in denen die Unterstützung für die erneute Authentifizierung erforderlich ist, einschließlich der Authentifizierung mit Network Access Protection (NAP).
Welchen Zweck hat der Parameter "pConnectionId" in der API "EapHostPeerBeginSession"?
pConnectionId ist ein Zeiger auf einen supplipli überlegt definierten GUID-Wert, der verwendet wird, um eine Netzwerkverbindung zu identifizieren, die zur Supplizierung gehört. Wenn die NotificationHandler-Rückruffunktion aufgerufen wird, wird diese GUID übergeben, um die Netzwerkverbindung zu identifizieren, die die Unterstützung für Anforderungen zur erneuten Authentifizierung verwendet.
Gewusst wie wissen, ob sich der Quarantänestatus ändert?
Der Benutzer erhält nur dann eine visuelle Benachrichtigung über eine Änderung des Quarantänezustands, wenn mindestens eine im System registrierte Schnittstelle für den Nap-Quarantäneerzwingungsclient (Network Access Protection, NAP) vorhanden ist. In diesem Falle wird der Benutzer beim Versuch der erneuten Authentifizierung über ein Popupfenster über eine Änderung des Quarantänezustands benachrichtigt.
Gewusst wie wissen, ob im System eine nap-QEC-registrierte Schnittstelle vorhanden ist?
Öffnen Sie ein Fenster mit erhöhten Rechten, und führen Sie den folgenden netsh-Befehl aus: " netsh nap client show state " . Weitere Informationen finden Sie unter Netsh-Befehle.
Welche Verbindungs-ID sollte der QEC während der erneuten Authentifizierung verwenden, wenn sich die Unterstützung erneut authentifiziert?
Der QEC sollte dieselbe Verbindungs-ID verwenden, die für die vorherige Sitzung verwendet wurde.
Es ist nur eine EAPHost-Supplizierungsmethode zum Anzeigen von Dialogfeldern für die Benutzeroberfläche (UI) verfügbar, aber EAP-Methoden verfügen über mehrere Arten von ui-spezifischen Aufrufen. Welche Methode sollte die Supplipliplise aufrufen, wenn sie den Aktionscode "EapHostPeerResponseInvokeUI" abruft, der angibt, dass die Supplinie ein Dialogfeld für die Benutzeroberfläche anzeigen muss?
Für den Benutzer ist keine Aktion erforderlich, da EAPHost weiß, welche Methodenfunktion aufgerufen werden soll. Wenn z. B. der Aktionscode EapHostPeerResponseInvokeUI zurückgegeben wird, ruft die Suppliplizierung diese drei Funktionen in der folgenden Reihenfolge auf: EapHostPeerGetUIContext, EapHostPeerInvokeInteractiveUIund EapHostPeerSetUIContext.
Worin besteht der Unterschied zwischen einem Blob für Anmeldeinformationen und einem Konfigurationsblob?
Das BLOB für Anmeldeinformationen enthält nur Benutzerdaten wie Benutzername, Kennwort und PIN. Das Konfigurations-BLOB enthält die Einstellungen, die das Verhalten der Methode steuern.
Kann ich die Ablaufverfolgung auf der EAPHost-Clientseite aktivieren?
Ja. Weitere Informationen finden Sie unter Aktivieren der Ablaufverfolgung.