Authentifizierungsfunktionen
Authentifizierungsfunktionen werden wie folgt nach Verwendung kategorisiert:
- SSPI-Funktionen
- Von SSP/APs implementierte Funktionen
- Von Benutzermodus-SSP/APs implementierte Funktionen
- Von SSP/APs aufgerufene LSA-Funktionen
- LSA-Funktionen, die von Benutzermodus-SSP/APs aufgerufen werden
- GINA-Exportfunktionen
- Anmeldebenutzerfunktionen
- Winlogon-Supportfunktionen
- Netzwerkanbieterfunktionen
- LSA-Anmeldefunktionen
- Von Authentifizierungspaketen implementierte Funktionen
- Von Authentifizierungspaketen aufgerufene LSA-Funktionen
- Unterauthentifizierungsfunktionen
- Verwaltungsfunktionen für Anmeldeinformationen
- Smartcardfunktionen
- SASL-Funktionen
- Andere Funktionen
SSPI-Funktionen
SSPI-Funktionen (Security Support Provider Interface) fallen in die folgenden Hauptkategorien.
-
Funktionen, die die verfügbaren Sicherheitspakete auflisten und ein Paket auswählen.
Verwaltung von Anmeldeinformationen
Funktionen, die Handles für die Anmeldeinformationen von Prinzipalen erstellen und mit diesen arbeiten.
-
Funktionen, die Anmeldeinformationenhandles verwenden, um einen Sicherheitskontext zu erstellen.
-
Funktionen, die Sicherheitskontexte verwenden, um die Nachrichtenintegrität und den Datenschutz während des Nachrichtenaustauschs über die gesicherte Verbindung sicherzustellen. Integrität wird durch Nachrichtensignatur und Signaturüberprüfung erreicht. Datenschutz wird durch Nachrichtenverschlüsselung und -entschlüsselung erreicht.
Verwalten von Paketen
SSPI-Paketverwaltungsfunktionen initiieren ein Sicherheitspaket, führen verfügbare Pakete auf und abfragen die Attribute eines Sicherheitspakets. Die folgenden SSPI-Funktionen stellen Verwaltungsdienste für Sicherheitspakete bereit.
Funktion | BESCHREIBUNG |
---|---|
EnumerateSecurityPackages | Listet verfügbare Sicherheitspakete und deren Funktionen auf. |
InitSecurityInterface | Ruft einen Zeiger auf eine SSP-Versandtabelle (Security Support Provider) ab. |
QuerySecurityPackageInfo | Ruft Informationen zu einem angegebenen Sicherheitspaket ab. Diese Informationen umfassen die Grenzen der Größen von Authentifizierungsinformationen, Anmeldeinformationen und Kontexten. |
Verwalten von Anmeldeinformationen
SSPI-Verwaltungsfunktionen für Anmeldeinformationen bieten ein Anmeldeinformationshandle , einen Verweis auf ein undurchsichtiges Sicherheitsobjekt, für den Zugriff auf einen Prinzipal. Das Sicherheitsobjekt ist undurchsichtig, da die Anwendung nur Zugriff auf das Handle und nicht auf den tatsächlichen Inhalt der Struktur hat.
Alle Verweise auf den Inhalt eines Anmeldeinformationskontexts erfolgen über das Handle des Objekts, und das Sicherheitspaket leitet das Handle ab, um auf die Besonderheiten der Anmeldeinformationen zuzugreifen. Ein Anmeldeinformationshandle ist ein 64-Bit-Wert zwischen {0x00000000, 0x00000000} und {0xFFFFFFFF, 0xFFFFFFFE}.
Anwendungen verwenden das Handle für Anmeldeinformationen mit Kontextverwaltungsfunktionen , um einen Sicherheitskontext zu erstellen.
Verwaltungsfunktionen für Anmeldeinformationen geben auch Handles für Anmeldeinformationen frei und fragen die Attribute von Anmeldeinformationen ab. Derzeit ist der Mit anmeldeinformationen zugeordnete Name das einzige Attribut, das abgefragt werden kann.
Die folgenden Funktionen werden bei der Anmeldeinformationsverwaltung verwendet.
Funktion | BESCHREIBUNG |
---|---|
AcquireCredentialsHandle (Allgemein) | Ruft ein Handle für die bereits vorhandenen Anmeldeinformationen eines angegebenen Prinzipals ab. |
ExportSecurityContext | Exportiert einen Sicherheitskontext in einen Kontextpuffer. |
FreeCredentialsHandle | Gibt ein Handle für Anmeldeinformationen und zugeordnete Ressourcen frei. |
ImportSecurityContext | Importiert einen mithilfe von ExportSecurityContext exportierten Sicherheitskontext in den aktuellen Prozess. |
QueryCredentialsAttributes | Ruft die Attribute einer Anmeldeinformation ab, z. B. den Namen, der den Anmeldeinformationen zugeordnet ist. |
Kontextverwaltung
SSPI-Kontextverwaltungsfunktionen erstellen und verwenden Sicherheitskontexte.
In einer Kommunikationsverbindung arbeiten Client und Server zusammen, um einen freigegebenen Sicherheitskontext zu erstellen. Client und Server verwenden sowohl den Sicherheitskontext mit Nachrichtenunterstützungsfunktionen , um die Nachrichtenintegrität und den Datenschutz während der Verbindung sicherzustellen.
Sicherheitskontexte sind undurchsichtige Sicherheitsobjekte. Informationen im Sicherheitskontext sind für die Anwendung nicht verfügbar. Kontextverwaltungsfunktionen erstellen und verwenden Kontexthandles, und das Sicherheitspaket leitet das Kontexthandle für den Zugriff auf seine Sicherheitsinhalte ab.
Ein Kontexthandle ist ein 64-Bit-Wert zwischen {0x00000000, 0x00000000} und {0xFFFFFFFF, 0xFFFFFFFE}.
Die folgenden Funktionen werden mit der Kontextverwaltung verwendet.
Funktion | BESCHREIBUNG |
---|---|
AcceptSecurityContext (Allgemein) | Wird von einem Server verwendet, um einen Sicherheitskontext basierend auf einer undurchsichtigen Nachricht zu erstellen, die von einem Client empfangen wird. |
ApplyControlToken | Wendet eine zusätzliche Sicherheitsmeldung auf einen vorhandenen Sicherheitskontext an. |
CompleteAuthToken | Schließt ein Authentifizierungstoken ab. Diese Funktion wird von Protokollen wie DCE verwendet, die die Sicherheitsinformationen überprüfen müssen, nachdem die Transportanwendung einige Nachrichtenparameter aktualisiert hat. |
DeleteSecurityContext | Gibt einen Sicherheitskontext und zugeordnete Ressourcen frei. |
FreeContextBuffer | Gibt einen Speicherpuffer frei, der einem Sicherheitspaket zugeordnet ist. |
ImpersonateSecurityContext | Gibt die Identität des Sicherheitskontexts an, um als Client für das System angezeigt zu werden. |
InitializeSecurityContext (Allgemein) | Wird von einem Client verwendet, um einen Sicherheitskontext zu initiieren, indem eine undurchsichtige Nachricht generiert wird, die an einen Server übergeben werden soll. |
QueryContextAttributes (Allgemein) | Ermöglicht einer Transportanwendung das Abfragen eines Sicherheitspakets für bestimmte Attribute eines Sicherheitskontexts. |
QuerySecurityContextToken | Ruft das Zugriffstoken für einen Clientsicherheitskontext ab und verwendet es direkt. |
SetContextAttributes | Ermöglicht einer Transportanwendung das Festlegen von Attributen eines Sicherheitskontexts für ein Sicherheitspaket. Diese Funktion wird nur vom Sicherheitspaket Schannel unterstützt. |
RevertSecurityContext | Ermöglicht einem Sicherheitspaket , den Identitätswechsel des Aufrufers abzubrechen und seinen eigenen Sicherheitskontext wiederherzustellen. |
Nachrichtenunterstützung
SSPI-Nachrichtenunterstützungsfunktionen ermöglichen es einer Anwendung, manipulationssichere Nachrichten zu übertragen und zu empfangen sowie Nachrichten zu verschlüsseln und zu entschlüsseln. Diese Funktionen arbeiten mit einem oder mehreren Puffern, die eine Nachricht enthalten, und mit einem Sicherheitskontext, der von den Kontextverwaltungsfunktionen erstellt wurde. Das Verhalten der Funktionen unterscheidet sich je nachdem, ob eine Verbindung, ein Datagramm oder ein Streamkontext verwendet wird. Eine Beschreibung dieser Unterschiede finden Sie unter Semantik des SSPI-Kontexts.
Die folgenden Funktionen bieten Sicherheitsunterstützung für Nachrichten.
Funktion | BESCHREIBUNG |
---|---|
DecryptMessage (Allgemein) | Entschlüsselt eine verschlüsselte Nachricht mithilfe des Sitzungsschlüssels aus einem Sicherheitskontext. |
EncryptMessage (Allgemein) | Verschlüsselt eine Nachricht mithilfe des Sitzungsschlüssels aus einem Sicherheitskontext. |
MakeSignature | Generiert eine kryptografische Prüfsumme der Nachricht und enthält auch Sequenzierungsinformationen, um den Verlust oder das Einfügen von Nachrichten zu verhindern. |
VerifySignature | Überprüft mithilfe der MakeSignature-Funktion die Signatur einer empfangenen Nachricht, die vom Absender signiert wurde. |
Von SSP/APs implementierte Funktionen
Die folgenden Funktionen werden durch Sicherheitspakete implementiert, die in Security Support Provider/Authentication Packages (SSP/APs) enthalten sind.
In den folgenden Tabellen wird der erste Funktionssatz von Windows XP SSP/AP-Sicherheitspaketen implementiert. Der zweite Satz von Funktionen wird nur durch SSP/AP-Sicherheitspakete implementiert.
Die lokale Sicherheitsbehörde (Local Security Authority , LSA) greift auf diese Funktionen mithilfe der SECPKG_FUNCTION_TABLE-Struktur zu, die von der SpLsaModeInitialize-Funktion des SSP/AP bereitgestellt wird.
Die folgenden Funktionen werden von allen Authentifizierungspaketen implementiert.
Funktion | BESCHREIBUNG |
---|---|
LsaApCallPackage | Wird von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen, wenn eine Anmeldeanwendung mit einer vertrauenswürdigen Verbindung mit dem LSA die LsaCallAuthenticationPackage-Funktion aufruft und den Bezeichner des Authentifizierungspakets angibt. |
LsaApCallPackagePassthrough | Die Dispatchfunktion für Passthrough-Anmeldeanforderungen, die an die LsaCallAuthenticationPackage-Funktion gesendet werden |
LsaApCallPackageUntrusted | Wird von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen, wenn eine Anwendung mit einer nicht vertrauenswürdigen Verbindung mit dem LSA die LsaCallAuthenticationPackage-Funktion aufruft und den Bezeichner des Authentifizierungspakets angibt. |
LsaApInitializePackage | Wird während der Systeminitialisierung einmal von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen, um dem Authentifizierungspaket die Möglichkeit zu geben, sich selbst zu initialisieren. |
LsaApLogonTerminated | Wird verwendet, um ein Authentifizierungspaket zu benachrichtigen, wenn eine Anmeldesitzung beendet wird. Eine Anmeldesitzung wird beendet, wenn das letzte Token, das auf die Anmeldesitzung verweist, gelöscht wird. |
LsaApLogonUser | Authentifiziert die Anmeldeinformationen eines Benutzers. |
LsaApLogonUserEx | Authentifiziert die Anmeldeinformationen eines Benutzers. |
LsaApLogonUserEx2 | Wird verwendet, um einen Benutzeranmeldungsversuch bei der anfänglichen Anmeldung des Benutzers zu authentifizieren. Für den Benutzer wird eine neue Anmeldesitzung eingerichtet, und Validierungsinformationen für den Benutzer werden zurückgegeben. |
Die folgenden zusätzlichen Funktionen werden von SSP/AP-Sicherheitspaketen implementiert.
Funktion | BESCHREIBUNG |
---|---|
SpAcceptCredentials | Wird von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen, um dem Sicherheitspaket alle Anmeldeinformationen zu übergeben, die für den authentifizierten Sicherheitsprinzipal gespeichert sind. |
SpAcceptLsaModeContext | Serververteilungsfunktion zum Erstellen eines Sicherheitskontexts , der von einem Server und Client gemeinsam genutzt wird. |
SpAcquireCredentialsHandle | Wird aufgerufen, um ein Handle für die Anmeldeinformationen eines Prinzipals abzurufen. |
SpAddCredentials | Wird verwendet, um Anmeldeinformationen für einen Sicherheitsprinzipal hinzuzufügen. |
SpApplyControlToken | Wendet ein Steuerelementtoken auf einen Sicherheitskontext an. Diese Funktion wird derzeit nicht von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen. |
SpDeleteContext | Löscht einen Sicherheitskontext. |
SpDeleteCredentials | Löscht Anmeldeinformationen aus der Liste der primären oder zusätzlichen Anmeldeinformationen eines Sicherheitspakets. |
SpFreeCredentialsHandle | Gibt Anmeldeinformationen frei, die durch Aufrufen der SpAcquireCredentialsHandle-Funktion erworben wurden. |
SpGetCredentials | Ruft Benutzeranmeldeinformationen ab. |
SpGetExtendedInformation | Stellt erweiterte Informationen zu einem Sicherheitspaket bereit. |
SpGetInfo | Stellt allgemeine Informationen zum Sicherheitspaket bereit, z. B. name und Funktionen. |
SpGetUserInfo | Ruft Informationen zu einer Anmeldesitzung ab. |
SPInitialize | Wird einmal von der lokalen Sicherheitsbehörde (Local Security Authority , LSA) aufgerufen, um ein Sicherheitspaket mit allgemeinen Sicherheitsinformationen und einer Bereitstellungstabelle mit Supportfunktionen bereitzustellen. |
SpInitLsaModeContext | Die Client-Dispatchfunktion, die zum Einrichten eines Sicherheitskontexts zwischen einem Server und einem Client verwendet wird. |
SpQueryContextAttributes | Ruft die Attribute eines Sicherheitskontexts ab. |
SpQueryCredentialsAttributes | Ruft die Attribute für anmeldeinformationen ab. |
SpSaveCredentials | Speichert zusätzliche Anmeldeinformationen für das Benutzerobjekt. |
SpSetExtendedInformation | Legt erweiterte Informationen zum Sicherheitspaket fest. |
SpShutdown | Führt alle vor dem Entladen des SSP/AP erforderlichen Bereinigungen durch. |
SslCrackCertificate | Gibt eine X509Certificate-Struktur mit den Informationen zurück, die im angegebenen Zertifikatblob enthalten sind. |
SslEmptyCache | Entfernt die angegebene Zeichenfolge aus dem Schannel-Cache. |
SslFreeCertificate | Gibt ein Zertifikat frei, das durch einen vorherigen Aufruf der SslCrackCertificate-Funktion zugewiesen wurde. |
Von Benutzermodus-SSP/APs implementierte Funktionen
Die folgenden Funktionen werden von Security Support Provider/Authentication Packages (SSP/APs) implementiert, die in Client-/Serveranwendungen geladen werden können.
Ein SSP/AP gibt an, dass er die Benutzermodusfunktionen implementiert, indem true im MappedContext-Parameter der Funktionen SpInitLsaModeContext und SpAcceptLsaModeContext zurückgegeben wird. Die SpInitLsaModeContext-Funktion wird von der Clientseite einer Anwendung auf Transportebene verwendet, während SpAcceptLsaModeContext von der Serverseite verwendet wird.
Das Laden eines SSP/AP in den Client- oder Serverprozess wird von der Sicherheitsanbieter-DLL verarbeitet, entweder Security.dll oder Secur32.dll. Die Sicherheitsanbieter-DLL lädt den SSP/AP, indem die Adresse der vom SSP/AP implementierten SpUserModeInitialize-Funktion gefunden und aufgerufen wird. Diese Funktion gibt einen Satz von Tabellen zurück, die Zeiger auf die Benutzermodusfunktionen enthalten, die in jedem Sicherheitspaket implementiert sind.
Nachdem der SSP/AP in den Client- oder Serverprozess geladen wurde, kopiert die lokale Sicherheitsbehörde (LSA) die Sicherheitskontextinformationen (zurückgegeben von SpInitLsaModeContext oder SpAcceptLsaModeContext) und alle zusätzlichen kontextbezogenen Daten in den Prozess und ruft die SpInitUserModeContext-Funktion des Sicherheitspakets auf.
Client-/Serveranwendungen greifen auf Benutzermodusfunktionen zu, indem sie SSPI-Funktionen ( Security Support Provider Interface ) aufrufen. Die SSPI-Funktionen werden von der Sicherheitsanbieter-DLL mithilfe der vom Paket bereitgestellten SECPKG_USER_FUNCTION_TABLE zugeordnet.
Funktion | BESCHREIBUNG |
---|---|
SpCompleteAuthToken | Schließt ein Authentifizierungstoken ab. Implementiert die SSPI CompleteAuthToken-Funktion . |
SpDeleteContext | Löscht einen Sicherheitskontext. Implementiert die SSPI DeleteSecurityContext-Funktion . |
SpExportSecurityContext | Exportiert einen Sicherheitskontext in einen anderen Prozess. Implementiert die SSPI ExportSecurityContext-Funktion . |
SpFormatCredentials | Formatiert Anmeldeinformationen , die in einem Benutzerobjekt gespeichert werden sollen. |
SpGetContextToken | Ruft das Token ab, das identitätswechseln soll. Wird von der SSPI ImpersonateSecurityContext-Funktion verwendet. |
SpImportSecurityContext | Importiert einen Sicherheitskontext aus einem anderen Prozess. Implementiert die SSPI ImportSecurityContext-Funktion . |
SpInitUserModeContext | Erstellt einen Benutzermodussicherheitskontext aus einem gepackten LSA-Modus ( Local Security Authority ). |
SpInstanceInit | Initialisiert Benutzermodussicherheitspakete in einem SSP/AP. |
SpMakeSignature | Generiert eine Signatur basierend auf der angegebenen Nachricht und dem angegebenen Sicherheitskontext. Implementiert die SSPI MakeSignature-Funktion . |
SpMarshallSupplementalCreds | Konvertiert zusätzliche Anmeldeinformationen aus einem öffentlichen Format in ein Format, das für lokale Prozeduraufrufe geeignet ist. |
SpQueryContextAttributes | Ruft die Attribute eines Sicherheitskontexts ab. Implementiert die SSPI QueryContextAttributes-Funktion (General). |
SpSealMessage | Verschlüsselt eine Nachricht, die zwischen einem Client und einem Server ausgetauscht wird. Implementiert die Funktion SSPI EncryptMessage (Allgemein). |
SpUnsealMessage | Entschlüsselt eine Nachricht, die zuvor mit der SpSealMessage-Funktion verschlüsselt wurde. Implementiert die Funktion SSPI DecryptMessage (Allgemein). |
SpUserModeInitialize | Wird aufgerufen, wenn eine SSP/AP-DLL ( Security Support Provider/Authentication Package ) in den Prozessbereich einer Client-/Serveranwendung geladen wird. Diese Funktion stellt die SECPKG_USER_FUNCTION_TABLE Tabellen für jedes Sicherheitspaket in der SSP/AP-DLL bereit. |
SpVerifySignature | Überprüft, ob die empfangene Nachricht gemäß der Signatur korrekt ist. Implementiert die SSPI VerifySignature-Funktion . |
Von SSP/APs aufgerufene LSA-Funktionen
Die lokale Sicherheitsbehörde (Local Security Authority , LSA) stellt die folgenden Funktionen für Sicherheitspakete bereit, die in Security Support Provider/Authentication Packages (SSP/APs) bereitgestellt werden. Die Funktionen sind in der LSA_SECPKG_FUNCTION_TABLE-Struktur verfügbar und können aufgerufen werden, während der SSP/AP in den Prozessraum des LSA geladen wird. Die folgenden Funktionen stehen allen APs zur Verfügung.
Funktion | BESCHREIBUNG |
---|---|
Hinzufügen von Anmeldeinformationen | Fügt Benutzeranmeldeinformationen hinzu. |
AllocateClientBuffer | Ordnet Arbeitsspeicher im Adressraum des Paketclients zu. |
AllocateLsaHeap | Ordnet Arbeitsspeicher auf dem Heap zu. Es wird erwartet, dass einige Informationen, die an die LSA übergeben werden, mithilfe dieser Funktion zugeordnet werden. |
CopyFromClientBuffer | Kopiert Informationen aus dem Adressraum eines Clientprozesses in einen Puffer im aktuellen Prozess. |
CopyToClientBuffer | Kopiert Informationen aus einem Puffer im aktuellen Prozess in den Adressraum eines Clientprozesses. |
CreateLogonSession | Erstellt Anmeldesitzungen. |
DeleteCredential | Löscht Benutzeranmeldeinformationen. |
DeleteLogonSession | Löscht eine LSA-Anmeldesitzung. |
FreeClientBuffer | Gibt Arbeitsspeicher im Adressraum des Paketclients frei. |
FreeLsaHeap | Deallocates Heap-Speicher, der zuvor von AllocateLsaHeap zugewiesen wurde. |
GetCredentials | Ruft Anmeldeinformationen ab, die einer Anmeldesitzung zugeordnet sind. |
Die folgenden Funktionen sind für SSP/APs verfügbar.
Funktion | BESCHREIBUNG |
---|---|
AllocateSharedMemory | Ordnet einen Abschnitt des freigegebenen Arbeitsspeichers zu. |
AuditAccountLogon | Erstellt Überwachungsdatensätze für versuchte Anmeldungen. |
AuditLogon | Erstellt einen Überwachungspfad für eine Anmeldesitzung. |
CallPackage | Ruft ein Paket auf. |
CallPackageEx | Ruft ein anderes Paket auf. |
CallPackagePassthrough | Ruft ein Sicherheitspaket von einem anderen auf. |
CancelNotification | Bricht die Benachrichtigung für besondere Ereignisse ab. |
ClientCallback | Ermöglicht einem Sicherheitspaket das Aufrufen einer Funktion im Clientprozess. Einen Prototyp der ClientCallback-Funktion finden Sie unter Prototyp der ClientCallback-Funktion. |
CloseSamUser | Schließt ein Handle mit einem Security Accounts Manager-Datenbankeintrag. |
ConvertAuthDataToToken | Konvertiert Autorisierungsdaten in ein Benutzertoken. |
CrackSingleName | Konvertiert einen Namen aus einem Format in ein anderes. |
CreateSharedMemory | Erstellt einen Abschnitt des Arbeitsspeichers, der zwischen Clients und dem SSP/AP gemeinsam genutzt wird. |
CreateThread | Erstellt einen neuen Thread. |
CreateToken | Erstellt ein Token. |
DeleteSharedMemory | Löscht einen Abschnitt des freigegebenen Arbeitsspeichers. |
DuplicateHandle | Dupliziert ein Handle. |
FreeReturnBuffer | Gibt einen Puffer frei, der vom LSA zugewiesen wird. |
FreeSharedMemory | Gibt einen Abschnitt des freigegebenen Arbeitsspeichers frei. |
GetAuthDataForUser | Ruft Autorisierungsdaten für ein Benutzerkonto ab. |
GetCallInfo | Ruft Informationen zum letzten Funktionsaufruf ab. |
GetClientInfo | Ruft Informationen zum Benutzerprozess des Sicherheitspakets ab. |
GetUserAuthData | Gibt die Autorisierungsdaten für einen Benutzer zurück. |
GetUserCredentials | Noch nicht implementiert. |
IdentitätswechselClient | Wird von Sicherheitspaketen aufgerufen, um die Identität des Paketbenutzers zu annehmen. |
MapBuffer | Ordnet eine SecBuffer-Struktur dem Adressraum des Security Support Provider/Authentication Package (SSP/AP) zu. |
OpenSamUser | Ruft ein Handle für ein Benutzerkonto in der SAM-Datenbank (Security Accounts Manager ) ab. |
RegisterNotification | Stellt einen Mechanismus bereit, bei dem das Sicherheitspaket benachrichtigt wird. Benachrichtigungen können in festen Intervallen erfolgen, wenn ein Ereignisobjekt signalisiert wird, oder während bestimmter Systemereignisse. |
SaveSupplementalCredentials | Veraltet. Darf nicht verwendet werden. |
UnloadPackage | Entlädt einAuthentifizierungspaket des Sicherheitsunterstützungsanbieters (Security Support Provider/ Authentication Package, SSP/AP). |
UpdateCredentials | Stellt einen Mechanismus für ein Sicherheitspaket bereit, um andere Pakete darüber zu benachrichtigen, dass die Anmeldeinformationen für eine Anmeldesitzung geändert wurden. |
LSA-Funktionen, die von Benutzermodus-SSP/APs aufgerufen werden
Ein Sicherheitspaket in einemAuthentifizierungspaket (Security Support Provider/ Authentication Package, SSP/AP), das in einem Benutzermodusprozess ausgeführt wird, kann die Zeiger in der SECPKG_DLL_FUNCTIONS Tabelle verwenden, um auf die folgenden Funktionen zuzugreifen.
Funktion | PSDK-status |
---|---|
AllocateHeap | Ordnet Arbeitsspeicher für Puffer zu, die an die lokale Sicherheitsbehörde (Local Security Authority , LSA) zurückgegeben werden. |
FreeHeap | Gibt Arbeitsspeicher frei, der zuvor mithilfe von AllocateHeap zugewiesen wurde. |
Registercallback | Registriert Rückruffunktionen im Benutzermodus. |
GINA-Exportfunktionen
Eine GINA-DLL muss die folgenden Funktionen exportieren.
Hinweis
GINA-DLLs werden in Windows Vista ignoriert.
Funktion | BESCHREIBUNG |
---|---|
WlxActivateUserShell | Aktiviert das Benutzershellprogramm. |
WlxDisplayLockedNotice | Ermöglicht der GINA das Anzeigen von Informationen über die Sperre, z. B. wer die Arbeitsstation gesperrt hat und wann sie gesperrt wurde. |
WlxDisplaySASNotice | Winlogon ruft diese Funktion auf, wenn kein Benutzer angemeldet ist. |
WlxDisplayStatusMessage | Winlogon ruft diese Funktion auf, wenn die GINA-DLL eine Meldung anzeigen soll. |
WlxGetConsoleSwitchCredentials | Winlogon ruft diese Funktion auf, um die Anmeldeinformationen des aktuell angemeldeten Benutzers zu lesen, um sie transparent in eine Zielsitzung zu übertragen. |
WlxGetStatusMessage | Winlogon ruft diese Funktion auf, um die status Meldung abzurufen, die von der GINA-DLL angezeigt wird. |
WlxInitialize | Winlogon ruft diese Funktion einmal für jede Fensterstation auf dem Computer auf. Derzeit unterstützt das Betriebssystem eine Fensterstation pro Arbeitsstation. |
WlxIsLockOk | Winlogon ruft diese Funktion auf, bevor versucht wird, die Arbeitsstation zu sperren. |
WlxIsLogoffOk | Winlogon ruft diese Funktion auf, wenn der Benutzer einen Abmeldevorgang initiiert. |
WlxLoggedOnSAS | Winlogon ruft diese Funktion auf, wenn es ein SAS-Ereignis (Secure Attention Sequence ) empfängt, während der Benutzer angemeldet ist und die Arbeitsstation nicht gesperrt ist. |
WlxLoggedOutSAS | Winlogon ruft diese Funktion auf, wenn es ein SAS-Ereignis (Secure Attention Sequence ) empfängt, während kein Benutzer angemeldet ist. |
WlxLogoff | Winlogon ruft diese Funktion auf, um die GINA über einen Abmeldevorgang auf dieser Arbeitsstation zu benachrichtigen, sodass die GINA alle möglicherweise erforderlichen Abmeldungsvorgänge ausführen kann. |
WlxNegotiate | Die WlxNegotiate-Funktion muss von einer GINA-Ersatz-DLL implementiert werden. Dies ist der erste Aufruf von Winlogon an die GINA-DLL. Mit WlxNegotiate kann die GINA überprüfen, ob sie die installierte Version von Winlogon unterstützt. |
WlxNetworkProviderLoad | Winlogon ruft diese Funktion auf, um gültige Authentifizierungs- und Identifikationsinformationen zu sammeln. |
WlxRemoveStatusMessage | Winlogon ruft diese Funktion auf, um die GINA-DLL anzuweisen, die Anzeige der status-Nachricht zu beenden. |
WlxScreenSaverNotify | Winlogon ruft diese Funktion unmittelbar vor dem Aktivieren eines Bildschirmschoner auf, sodass die GINA mit dem Bildschirmschonerprogramm interagieren kann. |
WlxShutdown | Winlogon ruft diese Funktion kurz vor dem Herunterfahren auf, sodass die GINA alle Herunterfahraufgaben ausführen kann, z. B. das Auswerfen eines intelligenten Karte aus einem Leser. |
WlxStartApplication | Winlogon ruft diese Funktion auf, wenn das System eine Anwendung im Kontext des Benutzers starten muss. |
WlxWkstaLockedSAS | Winlogon ruft diese Funktion auf, wenn sie eine sichere Aufmerksamkeitssequenz (SAS ) empfängt und die Arbeitsstation gesperrt ist. |
Anmeldebenutzerfunktionen
Die folgenden Funktionen bieten die Möglichkeit, sich bei einem Benutzer anzumelden.
Funktion | BESCHREIBUNG |
---|---|
LogonUser | Versucht, einen Benutzer auf dem lokalen Computer anzumelden. |
LogonUserEx | Versucht, einen Benutzer auf dem lokalen Computer anzumelden. Diese Funktion ist eine erweiterte Version der LogonUser-Funktion und ruft Informationen über die Sicherheits-ID (SID), das Profil und die Kontingentlimits des angemeldeten Benutzers ab. |
LogonUserExExW | Die LogonUserExExW-Funktion versucht, einen Benutzer auf dem lokalen Computer zu protokollieren. Diese Funktion wird nicht in einem öffentlichen Header deklariert und verfügt über keine zugehörige Importbibliothek. Sie müssen die Funktionen LoadLibrary und GetProcAddress verwenden, um eine dynamische Verknüpfung mit Advapi32.dll. |
Winlogon-Supportfunktionen
GINA DLLs können die folgenden Winlogon-Unterstützungsfunktionen aufrufen.
Hinweis
GINA-DLLs werden in Windows Vista ignoriert.
Funktion | Aufgerufen von GINA |
---|---|
WlxAssignShellProtection | Wird von GINA aufgerufen, um dem Shellprogramm eines neu angemeldeten Benutzers Schutz zuzuweisen. |
WlxChangePasswordNotify | Wird von GINA aufgerufen, um anzugeben, dass ein Kennwort geändert wurde. |
WlxChangePasswordNotifyEx | Wird von GINA aufgerufen, um einem bestimmten Netzwerkanbieter (oder allen Netzwerkanbietern) mitzuteilen, dass ein Kennwort geändert wurde. |
WlxCloseUserDesktop | Wird von GINA aufgerufen, um einen alternativen Benutzerdesktop zu schließen und nach dem Schließen des Desktops sauber. |
WlxCreateUserDesktop | Wird von GINA aufgerufen, um alternative Anwendungsdesktops für den Benutzer zu erstellen. |
WlxDialogBox | Wird von der GINA aufgerufen, um ein modales Dialogfeld aus einer Dialogfeldvorlage zu erstellen. |
WlxDialogBoxIndirect | Wird von GINA aufgerufen, um ein modales Dialogfeld aus einer Dialogfeldvorlage im Arbeitsspeicher zu erstellen. |
WlxDialogBoxIndirectParam | Wird von GINA aufgerufen, um Dialogfeldsteuerelemente zu initialisieren und dann ein modales Dialogfeld aus einer Dialogfeldvorlage im Arbeitsspeicher zu erstellen. |
WlxDialogBoxParam | Wird von GINA aufgerufen, um Dialogfeldsteuerelemente zu initialisieren und dann ein modales Dialogfeld aus einer Dialogfeldvorlagenressource zu erstellen. |
WlxDisconnect | Wird von einer GINA-Ersatz-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um die Verbindung mit einer Terminaldienste-Netzwerksitzung zu trennen. |
WlxGetOption | Wird von GINA aufgerufen, um den aktuellen Wert einer Option abzurufen. |
WlxGetSourceDesktop | Wird von GINA aufgerufen, um den Namen und das Handle des Desktops zu bestimmen, der aktuell war, bevor Winlogon zum Winlogon-Desktop wechselte. |
WlxMessageBox | Wird von GINA aufgerufen, um ein Meldungsfeld zu erstellen, anzuzeigen und zu betreiben. |
WlxQueryClientCredentials | Wird von einer GINA-Ersatz-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um die Anmeldeinformationen von Remoteterminaldiensteclients abzurufen, die keine Internetconnectorlizenz verwenden. |
WlxQueryConsoleSwitchCredentials | Wird von GINA aufgerufen, um die Anmeldeinformationen zu lesen, die vom Winlogon der temporären Sitzung an das Winlogon der Zielsitzung übertragen wurden. |
WlxQueryInetConnectorCredentials | Wird von einer GINA-Ersatz-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um zu ermitteln, ob der Terminalserver die Internetconnectorlizenzierung verwendet, und um Anmeldeinformationen abzurufen. |
WlxQueryTerminalServicesData | Wird von GINA aufgerufen, um Die Terminaldienste-Benutzerkonfigurationsinformationen abzurufen, nachdem sich ein Benutzer angemeldet hat. |
WlxSasNotify | Wird von GINA aufgerufen, um Winlogon über ein SAS-Ereignis (Secure Attention Sequence ) zu benachrichtigen. |
WlxSetContextPointer | Wird von GINA aufgerufen, um den von Winlogon übergebenen Kontextzeiger als ersten Parameter für alle zukünftigen Aufrufe von GINA-Funktionen anzugeben. |
WlxSetOption | Wird von GINA aufgerufen, um den Wert einer Option festzulegen. |
WlxSetReturnDesktop | Wird von GINA aufgerufen, um den alternativen Anwendungsdesktop anzugeben, zu dem Winlogon wechselt , wenn die aktuelle SAS-Ereignisverarbeitungsfunktion ( Secure Attention Sequence ) abgeschlossen ist. |
WlxSetTimeout | Wird von GINA aufgerufen, um das Timeout zu ändern, das einem Dialogfeld zugeordnet ist. Das Standardtimeout beträgt zwei Minuten. |
WlxSwitchDesktopToUser | Wird von GINA aufgerufen, um zum Anwendungsdesktop zu wechseln. |
WlxSwitchDesktopToWinlogon | Ermöglicht der GINA-DLL den Wechsel zum Winlogon-Desktop . |
WlxUseCtrlAltDel | Wird von GINA aufgerufen, um Winlogon anweisen, die Standardkombination STRG+ALT+ENTF als sichere Aufmerksamkeitssequenz (SAS ) zu verwenden. |
WlxWin31Migrate | Wird von einer GINA-Ersatz-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um die Einrichtung des Terminaldiensteclients abzuschließen. |
Netzwerkanbieterfunktionen
Die folgenden Themen enthalten Referenzinformationen zu den Netzwerkanbieterfunktionen.
Thema | BESCHREIBUNG |
---|---|
Von Netzwerkanbietern implementierte Funktionen | Detailfunktionen, die von Netzwerkanbietern implementiert werden können. |
Unterstützungsfunktionen | Enthält eine Funktion, die vom Betriebssystem implementiert wird und von Netzwerkanbietern aufgerufen werden kann. |
Verbindungsbenachrichtigungsfunktionen | Detailfunktionen, die von Anwendungen implementiert werden, die Benachrichtigungen vom Multiple Provider Router (MPR) erhalten müssen, wenn eine Netzwerkressource verbunden oder getrennt ist. |
Von Netzwerkanbietern implementierte Funktionen
Die folgenden Funktionen können von Netzwerkanbietern implementiert werden. Die einzige Funktion, die Netzwerkanbieter unterstützen müssen, ist NPGetCaps.
Funktion | BESCHREIBUNG |
---|---|
NPAddConnection | Verbindet ein lokales Gerät mit einer Netzwerkressource. |
NPAddConnection3 | Verbindet ein lokales Gerät mit einer Netzwerkressource. |
NPCancelConnection | Trennt eine Netzwerkverbindung. |
NPCloseEnum | Schließt eine Enumeration. |
NPDeviceMode | Gibt das übergeordnete Fenster eines Geräts an. Dieses Fenster besitzt alle Dialogfelder, die vom Gerät stammen. |
NPDirectoryNotify | Benachrichtigt den Netzwerkanbieter über bestimmte Verzeichnisvorgänge. |
NPEnumResource | Führt eine Enumeration basierend auf einem von NPOpenEnum zurückgegebenen Handle aus. |
NPFormatNetworkName | Formatiert einen Netzwerknamen in einem anbieterspezifischen Format für die Anzeige in einem Steuerelement. |
NPGetCaps | Gibt Informationen darüber zurück, welche Dienste im Netzwerk unterstützt werden. |
NPGetConnection | Ruft Informationen zu einer Verbindung ab. |
NPGetConnection3 | Ruft Informationen zu einer Netzwerkverbindung ab, auch wenn sie derzeit getrennt ist. |
NPGetConnectionPerformance | Gibt Informationen zur erwarteten Leistung einer Verbindung zurück, die für den Zugriff auf eine Netzwerkressource verwendet wird. Die Anforderung kann nur für eine Netzwerkressource sein, die derzeit verbunden ist. |
NPGetDirectoryType | Bestimmt den Typ eines Netzwerkverzeichnisses. |
NPGetPropertyText | Ruft die Namen von Schaltflächen ab, die einem Eigenschaftendialogfeld für eine Netzwerkressource hinzugefügt werden sollen. |
NPGetResourceInformation | Trennt den Teil einer Netzwerkressource, auf die über die WNet-API zugegriffen wird, von dem Teil, auf den über APIs spezifisch für den Ressourcentyp zugegriffen wird. |
NPGetResourceParent | Ruft das übergeordnete Element einer angegebenen Netzwerkressource in der Suchhierarchie ab. |
NPGetUniversalName | Ruft den universellen Namen einer Netzwerkressource ab. Die NPGetUniversalName-Funktion kann diesen universellen Namen im UNC-Format oder im älteren Remotenamenformat abrufen. |
NPGetUser | Ruft den Wert des aktuellen Standardbenutzernamens oder des Benutzernamens ab, der zum Herstellen einer Netzwerkverbindung verwendet wird. |
NPOpenEnum | Öffnet eine Enumeration von Netzwerkressourcen oder vorhandenen Verbindungen. Die NPOpenEnum-Funktion muss aufgerufen werden, um ein gültiges Handle für eine Enumeration zu erhalten. |
NPPropertyDialog | Wird aufgerufen, wenn der Benutzer auf eine Schaltfläche klickt, die mithilfe der NPPropertyDialog-Funktion hinzugefügt wurde. Die NPPropertyDialog-Funktion wird nur für Datei- und Verzeichnisnetzwerkeigenschaften aufgerufen. |
NPSearchDialog | Ermöglicht Es Netzwerkanbietern, über die im Dialogfeld Verbindung dargestellte hierarchische Ansicht hinaus ihre eigene Form des Durchsuchens und Suchens bereitzustellen. |
Unterstützungsfunktionen
Die folgende Funktion wird vom Betriebssystem implementiert und kann von Netzwerkanbietern aufgerufen werden.
Funktion | BESCHREIBUNG |
---|---|
WNetSetLastError | Legt erweiterte Fehlerinformationen fest. Netzwerkanbieter sollten diese Funktion anstelle von SetLastError aufrufen. |
Verbindungsbenachrichtigungsfunktionen
Die folgenden Funktionen werden von Anwendungen implementiert, die eine Benachrichtigung vom Multiple Provider Router (MPR) erhalten müssen, wenn eine Netzwerkressource verbunden oder getrennt wird. Weitere Informationen zum Schreiben einer Anwendung, die solche Benachrichtigungen empfängt, finden Sie unter Empfangen von Verbindungsbenachrichtigungen.
Funktion | BESCHREIBUNG |
---|---|
AddConnectNotify | Wird vor und nach jedem Verbindungsvorgang zum Hinzufügen aufgerufen (WNetAddConnection, WNetAddConnection2 und WNetAddConnection3). |
CancelConnectNotify | Wird vor und nach jedem Verbindungsabbruchvorgang aufgerufen (WNetCancelConnection oder WNetCancelConnection2). |
LSA-Anmeldefunktionen
Die folgenden LSA-Authentifizierungsfunktionen ( Local Security Authority ) authentifizieren und melden Benutzer an und stellen Anmeldesitzungsinformationen bereit.
Funktion | BESCHREIBUNG |
---|---|
LsaCallAuthenticationPackage | Fordert einen paketspezifischen Dienst aus einem Authentifizierungspaket an. |
LsaConnectUntrusted | Stellt eine nicht vertrauenswürdige Verbindung mit der LSA her. |
LsaDeregisterLogonProcess | Trennt die Verbindung mit dem LSA und gibt Ressourcen frei, die dem Kontext des Aufrufers zugeordnet sind. |
LsaEnumerateLogonSessions | Ruft lokal eindeutige Bezeichner (LUIDs) für vorhandene Anmeldesitzungen ab. |
LsaFreeReturnBuffer | Gibt Arbeitsspeicher frei, der einem Puffer zugeordnet ist, der an einen Aufrufer zurückgegeben wird. |
LsaGetLogonSessionData | Ruft Informationen zu einer angegebenen Anmeldesitzung ab. |
LsaLogonUser | Authentifiziert Benutzeranmeldedaten mit gespeicherten Anmeldeinformationen. Bei erfolgreicher Ausführung wird eine neue Anmeldesitzung erstellt und ein Benutzertoken zurückgegeben. |
LsaLookupAuthenticationPackage | Ruft den eindeutigen Bezeichner eines Authentifizierungspakets ab. |
LsaQueryDomainInformationPolicy | Ruft Domäneninformationen aus dem Policy-Objekt ab. |
LsaQueryForestTrustInformation | Ruft Gesamtstrukturvertrauensinformationen für das angegebene TrustedDomain-Objekt der lokalen Sicherheitsautorität ab. |
LsaRegisterLogonProcess | Stellt eine Verbindung mit dem LSA-Server her und überprüft, ob der Aufrufer eine Anmeldeanwendung ist. |
LsaSetDomainInformationPolicy | Legt Domäneninformationen auf das Policy-Objekt fest. |
LsaSetForestTrustInformation | legt die Vertrauensinformationen der Gesamtstruktur für ein angegebenes TrustedDomain-Objekt der lokalen Sicherheitsautorität fest. |
Von Authentifizierungspaketen implementierte Funktionen
Benutzerdefinierte Authentifizierungspakete müssen diese Funktionen implementieren, die von der lokalen Sicherheitsautorität (LSA ) aufgerufen werden. Diese Funktionen werden von den von Microsoft bereitgestellten MSV1_0- und Kerberos-Authentifizierungspaketen implementiert.
Funktion | BESCHREIBUNG |
---|---|
LsaApCallPackage | Wird aufgerufen, wenn der Bezeichner des Authentifizierungspakets in einem Aufruf von LsaCallAuthenticationPackage von einer Anwendung angegeben wurde, die eine vertrauenswürdige Verbindung verwendet. Diese Funktion bietet eine Möglichkeit für Anmeldeanwendungen, direkt mit Authentifizierungspaketen zu kommunizieren. |
LsaApCallPackagePassthrough | Wird aufgerufen, wenn der Bezeichner des Authentifizierungspakets in einem Aufruf von LsaCallAuthenticationPackage für eine Passthrough-Anmeldeanforderung angegeben wurde. |
LsaApCallPackageUntrusted | Wird aufgerufen, wenn der Bezeichner des Authentifizierungspakets in einem Aufruf von LsaCallAuthenticationPackage von einer Anwendung angegeben wurde, die eine nicht vertrauenswürdige Verbindung verwendet. Diese Funktion wird für die Kommunikation mit Prozessen verwendet, die nicht über das SeTcbPrivilege-Recht verfügen. |
LsaApInitializePackage | Wird während der Systeminitialisierung aufgerufen, damit das Authentifizierungspaket Initialisierungsaufgaben ausführen kann. |
LsaApLogonTerminated | Wird aufgerufen, wenn eine Anmeldesitzung endet, damit das Authentifizierungspaket alle ressourcen freigibt, die für die Anmeldesitzung zugewiesen sind. |
LsaApLogonUser | Wird aufgerufen, wenn das Authentifizierungspaket in einem Aufruf von LsaLogonUser angegeben wurde. Diese Funktion authentifiziert die Anmeldedaten eines Sicherheitsprinzipals . |
LsaApLogonUserEx | Identisch mit LsaApLogonUser , mit der Ausnahme, dass der Arbeitsstationsname zu Überwachungszwecken zurückgegeben wird. Ein Authentifizierungspaket kann LsaApLogonUser, LsaApLogonUserEx oder LsaApLogonUserEx2 implementieren. Sie müssen nicht alle implementieren. |
LsaApLogonUserEx2 | Identisch mit LsaApLogonUserEx , mit der Ausnahme, dass es die primären und zusätzlichen Anmeldeinformationen des Sicherheitsprinzipals zurückgibt. Ein Authentifizierungspaket kann LsaApLogonUser, LsaApLogonUserEx oder LsaApLogonUserEx2 implementieren. Sie müssen nicht alle implementieren. |
Von Authentifizierungspaketen aufgerufene LSA-Funktionen
Die folgenden LSA-Funktionen ( Local Security Authority ) können aus einem benutzerdefinierten Authentifizierungspaket aufgerufen werden. Wenn der LSA LsaApInitializePackage aufruft, um das Paket zu initialisieren, übergibt er eine Tabelle mit Unterstützungsfunktionen.
Funktion | BESCHREIBUNG |
---|---|
Hinzufügen von Anmeldeinformationen | Fügt Anmeldeinformationen zu einer Anmeldesitzung hinzu. |
AllocateClientBuffer | Ordnet einen Puffer im Adressraum des Clients zu. |
AllocateLsaHeap | Weist Puffer zu, die vom Authentifizierungspaket an den LSA zurückgegeben werden müssen. |
CopyFromClientBuffer | Kopiert den Inhalt eines Puffers im Adressraum des Clients in einen lokalen Puffer. |
CopyToClientBuffer | Kopiert den Inhalt eines lokalen Puffers in den Adressraum des Clients. |
CreateLogonSession | Wird von Authentifizierungspaketen zum Erstellen einer Anmeldesitzung verwendet. |
DeleteCredential | Löscht vorhandene Anmeldeinformationen. |
DeleteLogonSession | Bereinigt alle Anmeldesitzungen, die erstellt werden, und bestimmt, ob die Authentifizierungsinformationen eines Benutzers legitim sind. |
FreeClientBuffer | Gibt einen Clientpuffer frei, der zuvor der Funktion AllocateClientBuffer zugeordnet wurde. |
FreeLsaHeap | Gibt Puffer frei, die zuvor mithilfe der Funktion AllocateLsaHeap zugewiesen wurden. |
GetCredentials | Ruft Anmeldeinformationen ab, die zuvor von AddCredential zwischengespeichert wurden. |
Unterauthentifizierungsfunktionen
Die folgenden Unterauthentifizierungsfunktionen können von Microsoft bereitgestellten Authentifizierungspaketen aufgerufen werden, um zusätzliche, vom Benutzer erstellte Anmeldeauthentifizierung bereitzustellen.
Funktion | BESCHREIBUNG |
---|---|
Msv1_0SubAuthenticationFilter | Führt eine Benutzeranmeldungsauthentifizierung durch, die für Domänencontroller spezifisch ist. |
Msv1_0SubAuthenticationRoutine | Führt client-/serverspezifische Authentifizierung aus. |
Verwaltungsfunktionen für Anmeldeinformationen
Die folgenden Themen enthalten Referenzinformationen zu den Verwaltungsfunktionen für Anmeldeinformationen.
Thema | BESCHREIBUNG |
---|---|
Benutzeroberflächenfunktionen für die Verwaltung von Anmeldeinformationen | Detailfunktionen, die für die Benutzeroberfläche für die Anmeldeinformationenverwaltung verwendet werden. |
Verwaltungsfunktionen auf niedriger Ebene für Anmeldeinformationen | Detailfunktionen, die für die Verwaltung von Anmeldeinformationen auf niedriger Ebene verwendet werden. |
Benachrichtigungsfunktionen für die Verwaltung von Anmeldeinformationen | Detailfunktionen, die von Anmeldeinformations-Managern implementiert werden, um Benachrichtigungen zu empfangen, wenn sich die Authentifizierungsinformationen ändern. |
Benutzeroberflächenfunktionen für die Verwaltung von Anmeldeinformationen
Im Folgenden sind Funktionen der Anmeldeinformationenverwaltungsoberfläche aufgeführt.
Funktion | BESCHREIBUNG |
---|---|
CredUICmdLinePromptForCredentials | Fordern Sie Benutzeranmeldeinformationen von einem Benutzer an, der in einem Befehlszeilenprogramm arbeitet, und akzeptieren Sie diese. |
CredUIConfirmCredentials | Überprüfen Sie die Gültigkeit der von CredUIPromptForCredentials oder CredUICmdLinePromptForCredentials zurückgegebenen Anmeldeinformationen. |
CredUIParseUserName | Extrahieren Sie den Domänen- und Benutzerkontonamen aus einem vollqualifizierten Benutzernamen. |
CredUIPromptForCredentials | Zeigt ein Dialogfeld an, das Anmeldeinformationen eines Benutzers akzeptiert. |
CredUIPromptForWindowsCredentials | Erstellt und zeigt ein konfigurierbares Dialogfeld an, in dem Benutzer Informationen zu Anmeldeinformationen mithilfe eines auf dem lokalen Computer installierten Anmeldeinformationsanbieters bereitstellen können. |
CredUIReadSSOCredW | Ruft den Benutzernamen für einzelne Anmeldeinformationen ab. |
CredUIStoreSSOCredW | Speichert einzelne Anmeldeinformationen. |
Verwaltungsfunktionen auf niedriger Ebene für Anmeldeinformationen
Im Folgenden sind Verwaltungsfunktionen für Anmeldeinformationen auf niedriger Ebene aufgeführt.
Funktion | BESCHREIBUNG |
---|---|
CredDelete | Löschen Sie Anmeldeinformationen aus den Anmeldeinformationen eines Benutzers. |
CredEnumerate | Listen Sie die Anmeldeinformationen in den Anmeldeinformationen eines Benutzers auf. |
CredFindBestCredential | Durchsucht die CredMan-Datenbank ( Credentials Management ) nach den generischen Anmeldeinformationen, die der aktuellen Anmeldesitzung zugeordnet sind und der angegebenen Zielressource am besten entsprechen. |
CredFree | Geben Sie den Arbeitsspeicher frei, der für einen Puffer verwendet wird, der von einer der Verwaltungsfunktionen für Anmeldeinformationen zurückgegeben wird. |
CredGetSessionTypes | Rufen Sie die maximale Persistenz ab, die von der aktuellen Anmeldesitzung unterstützt wird. |
CredGetTargetInfo | Ruft alle bekannten Zielnameninformationen für eine benannte Ressource ab. |
CredIsMarshaledCredential | Bestimmt, ob es sich bei einer angegebenen Benutzernamenzeichenfolge um gemarste Anmeldeinformationen handelt, die zuvor von CredMarshalCredential gemarst wurden. |
CredIsProtected | Gibt an, ob die angegebenen Anmeldeinformationen durch einen vorherigen Aufruf der CredProtect-Funktion verschlüsselt werden. |
CredMarshalCredential | Transformieren sie Anmeldeinformationen in eine Textzeichenfolge. |
CredPackAuthenticationBuffer | Konvertiert einen Zeichenfolgenbenutzernamen und ein Kennwort in einen Authentifizierungspuffer. |
CredProtect | Verschlüsselt die angegebenen Anmeldeinformationen, sodass nur der aktuelle Sicherheitskontext sie entschlüsseln kann. |
CredRead | Liest Anmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers. |
CredReadDomainCredentials | Liest die Domänenanmeldeinformationen aus den Anmeldeinformationen eines Benutzers. |
CredRename | Benennen Sie Anmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers um. |
CredUnmarshalCredential | Transformieren Sie eine gemarshallte Anmeldeinformationszeichenfolge wieder in ihre nichtmarshalierte Form. |
CredUnPackAuthenticationBuffer | Konvertiert einen Authentifizierungspuffer, der von einem Aufruf der CredUIPromptForWindowsCredentials-Funktion zurückgegeben wird, in einen Zeichenfolgenbenutzernamen und ein Kennwort. |
CredUnprotect | Entschlüsselt Anmeldeinformationen, die zuvor mit der Funktion CredProtect verschlüsselt wurden. |
CredWrite | Erstellen Sie neue Anmeldeinformationen, oder ändern Sie vorhandene Anmeldeinformationen im Anmeldeinformationssatz eines Benutzers. |
CredWriteDomainCredentials | Schreiben von Domänenanmeldeinformationen in die Anmeldeinformationen eines Benutzers. |
Benachrichtigungsfunktionen für die Anmeldeinformationsverwaltung
Die folgenden Funktionen werden von Anmeldeinformations-Managern implementiert, um Benachrichtigungen zu erhalten, wenn sich Authentifizierungsinformationen ändern.
Funktion | BESCHREIBUNG |
---|---|
NPLogonNotify | MPR ruft diese Funktion auf, um den Anmeldeinformations-Manager zu benachrichtigen, dass ein Anmeldeereignis aufgetreten ist, sodass der Anmeldeinformations-Manager ein Anmeldeskript zurückgeben kann. |
NPPasswordChangeNotify | MPR ruft diese Funktion auf, um den Anmeldeinformations-Manager über ein Kennwortänderungsereignis zu benachrichtigen. |
Smartcardfunktionen
Das Smartcard-SDK bietet die folgenden Funktionen.
Funktion | BESCHREIBUNG |
---|---|
GetOpenCardName | Ersetzt durch SCardUIDlgSelectCard, das das Dialogfeld smart Karte Karte auswählen anzeigt. |
SCardAccessStartedEvent | Ruft ein Ereignishandle ab, wenn der Start eines intelligenten Karte-Ressourcen-Managers signalisiert wird. |
SCardAddReaderToGroup | Fügt einer Lesergruppe einen Reader hinzu. |
SCardAudit | Schreibt Ereignismeldungen in das Windows-Anwendungsprotokoll Microsoft-Windows-SmartCard-Audit/Authentication. |
SCardBeginTransaction | Startet eine Transaktion. |
SCardCancel | Beendet alle ausstehenden Aktionen innerhalb eines Kontexts. |
SCardCancelTransaction | Für die zukünftige Verwendung reserviert. |
SCardConnect | Stellt eine Verbindung zwischen der aufrufenden Anwendung und einer intelligenten Karte her. |
SCardControl | Ruft die direkte Steuerung des Readers ab, nachdem SCardConnect aufgerufen wurde. |
SCardDisconnect | Beendet eine Verbindung zwischen der aufrufenden Anwendung und einer intelligenten Karte. |
SCardEndTransaction | Schließt eine Transaktion ab. |
SCardEstablishContext | Richtet einen Ressourcen-Manager-Kontext für den Zugriff auf die Smart Karte-Datenbank ein. |
SCardForgetCardType | Entfernt eine zuvor definierte intelligente Karte aus dem Smart Karte-Subsystem. |
SCardForgetReader | Entfernt einen zuvor definierten Reader aus dem Smart Karte-Subsystem. |
SCardForgetReaderGroup | Entfernt eine zuvor definierte Lesergruppe aus dem Smart Karte-Subsystem. |
SCardFreeMemory | Gibt den vom Ressourcen-Manager zugeordneten Arbeitsspeicher frei. |
SCardGetAttrib | Ruft die Attribute des aktuellen Lesers von einem bestimmten Reader, Treiber oder smarten Karte ab. |
SCardGetCardTypeProviderName | Ruft den Anbieternamen ab, der einem Karte Namen und Anbietertyp zugeordnet ist. |
SCardGetDeviceTypeId | Ruft den Gerätetypbezeichner des Karte Reader für den angegebenen Readernamen ab. Diese Funktion wirkt sich nicht auf den Zustand des Readers aus. |
SCardGetProviderId | Ruft den Bezeichner (GUID) des primären Dienstanbieters für eine intelligente Karte ab. |
SCardGetReaderDeviceInstanceId | Ruft den Geräte-instance Bezeichner des Karte-Readers für den angegebenen Readernamen ab. Diese Funktion wirkt sich nicht auf den Zustand des Readers aus. |
SCardGetReaderIcon | Ruft ein Symbol des intelligenten Karte-Readers für den Namen eines bestimmten Lesers ab. |
SCardGetStatusChange | Blockiert die Ausführung, bis sich status der Leser ändert. |
SCardGetTransmitCount | Ruft die Anzahl der Übertragungsvorgänge ab, die seit dem Einfügen des angegebenen Karte Reader abgeschlossen wurden. |
SCardIntroduceCardType | Führt eine neue intelligente Karte in das Subsystem smart Karte ein. |
SCardIntroduceReader | Führt einen neuen Reader in das Subsystem smart Karte ein. |
SCardIntroduceReaderGroup | Führt eine neue Lesergruppe in das Subsystem smart Karte ein. |
SCardIsValidContext | Überprüft ein intelligentes Karte-Kontexthandle. |
SCardListCards | Stellt eine Liste der Smartcards bereit, die bereits in das Subsystem eingeführt wurden. |
SCardListInterfaces | Stellt eine Liste der Schnittstellen bereit, die von einem bestimmten intelligenten Karte bereitgestellt werden. |
SCardListReaderGroups | Stellt eine Liste der Lesergruppen bereit, die bereits in das Subsystem eingeführt wurden. |
SCardListReaders | Stellt eine Liste der Leser bereit, die bereits in das Subsystem eingeführt wurden. |
SCardListReadersWithDeviceInstanceId | Ruft die Liste der Leser ab, die einen Geräte-instance-Bezeichner bereitgestellt haben. Diese Funktion wirkt sich nicht auf den Zustand des Readers aus. |
SCardLocateCards | Sucht die Karten, die einer bestimmten ATR-Zeichenfolge entsprechen. |
SCardLocateCardsByATR | Sucht die Karten, die einer bestimmten ATR-Zeichenfolge entsprechen. |
SCardReadCache | Ruft den Wertteil eines Name-Wert-Paars aus dem globalen Cache ab, der vom Smartcard-Resource Manager verwaltet wird. |
SCardReconnect | Stellt eine vorhandene Verbindung zwischen der aufrufenden Anwendung und dem intelligenten Karte wieder her. |
SCardReleaseContext | Schließt einen eingerichteten Ressourcen-Manager-Kontext. |
SCardReleaseStartedEvent | Verringert die Verweisanzahl für ein Handle, das mithilfe der SCardAccessStartedEvent-Funktion abgerufen wurde. |
SCardRemoveReaderFromGroup | Entfernt einen Reader aus einer vorhandenen Lesergruppe. |
SCardSetAttrib | Legt ein angegebenes Reader-Attribut fest. |
SCardSetCardTypeProviderName | Legt den Anbieternamen für einen Karte Namen und Anbietertyp fest. |
SCardStatus | Ruft den aktuellen Zustand eines Readers ab. |
SCardTransmit | Sendet eine Serviceanforderung an eine intelligente Karte. |
SCardUIDlgSelectCard | Zeigt das Dialogfeld Smart Karte Karte auswählen an. |
SCardWriteCache | Schreibt ein Name-Wert-Paar aus einem intelligenten Karte in den globalen Cache, der vom Smartcard-Resource Manager verwaltet wird. |
SASL-Funktionen
Die Simple Authentication and Security Layer (SASL) bietet die folgenden Funktionen.
Functions | BESCHREIBUNG |
---|---|
SaslAcceptSecurityContext | Umschließt einen Standardaufruf der SSPI AcceptSecurityContext -Funktion (General) und schließt die Erstellung von SASL-Servercookies ein. |
SaslEnumerateProfiles | Listet die Pakete auf, die eine SASL-Schnittstelle bereitstellen. |
SaslGetContextOption | Ruft die angegebene Eigenschaft des angegebenen SASL-Kontexts ab. |
SaslGetProfilePackage | Gibt die Paketinformationen für das angegebene Paket zurück. |
SaslIdentifyPackage | Gibt das Aushandlungspräfix zurück, das dem angegebenen SASL-Aushandlungspuffer entspricht. |
SaslInitializeSecurityContext | Umschließt einen Standardaufruf der Funktion SSPI InitializeSecurityContext (Allgemein) und verarbeitet SASL-Servercookies vom Server. |
SaslSetContextOption | Legt den Wert der angegebenen Eigenschaft für den angegebenen SASL-Kontext fest. |
Weitere Funktionen
Im Folgenden finden Sie weitere Funktionen, die für die Authentifizierung verwendet werden.
Funktion | BESCHREIBUNG |
---|---|
AddSecurityPackage | Fügt der Liste der von Microsoft Negotiate unterstützten Anbieter einen Sicherheitssupportanbieter hinzu. |
ChangeAccountPassword | Ändert das Kennwort für ein Windows-Domänenkonto mithilfe des angegebenen Sicherheitsunterstützungsanbieters. |
CredMarshalTargetInfo | Serialisiert das angegebene Ziel in ein Array von Bytewerten. |
DeleteSecurityPackage | Löscht einen Sicherheitssupportanbieter aus der Liste der von Microsoft Negotiate unterstützten Anbieter. |
LsaManageSidNameMapping | Fügt SID-/Namenszuordnungen aus dem beim LSA-Suchdienst registrierten Zuordnungssatz hinzu oder entfernt sie. |
LsaOpenPolicy | Öffnet ein Handle für das Policy-Objekt auf einem lokalen oder Remotesystem. |
LsaQueryInformationPolicy | Ruft Informationen zu einem Policy-Objekt ab. |
LsaSetInformationPolicy | Ändert Informationen in einem Policy-Objekt . |
NPFMXEditPerm | Ermöglicht Netzwerkanbietern die Bereitstellung eigener Dialogfelder für den Berechtigungs-Editor. |
NPFMXGetPermCaps | Ruft die Funktionen des Berechtigungs-Editors ab. Der Rückgabewert ist eine Bitmaske, die angibt, welche der Sicherheitsmenüelemente im Datei-Manager aktiviert werden sollen. |
NPFMXGetPermHelp | Ruft die Hilfedatei und den Hilfekontext der Dialogfelder des Berechtigungs-Editors ab, wenn ein Menüelement im Menü Sicherheit des Datei-Managers ausgewählt und F1 gedrückt wird. |
SeciAllocateAndSetIPAddress | Legt fest, dass die IP-Adresse des Aufrufers in Sicherheitsüberwachungsereignissen angezeigt wird. |
SeciFreeCallContext | Gibt den von SeciAllocateAndSetIPAddress zugeordneten Arbeitsspeicher frei. |
SpGetCredUIContextFn | Ruft Kontextinformationen von einem Anmeldeinformationsanbieter ab. |
SpLsaModeInitialize | Stellt dem LSA Zeiger auf die Funktionen bereit, die von jedem Sicherheitspaket in der SSP/AP-DLL implementiert werden. |
SpQueryMetaDataFn | Ruft Metadaten von einem Sicherheitsunterstützungsanbieter (Security Support Provider , SSP) ab, wenn ein Sicherheitskontext initiiert wird. |
SpUpdateCredentialsFn | Updates die Anmeldeinformationen, die dem angegebenen Kontext zugeordnet sind. |
SspiCompareAuthIdentities | Vergleicht die beiden angegebenen Anmeldeinformationen. |
SspiCopyAuthIdentity | Erstellt eine Kopie der angegebenen undurchsichtigen Anmeldeinformationsstruktur. |
SspiDecryptAuthIdentity | Entschlüsselt die angegebenen verschlüsselten Anmeldeinformationen. |
SspiEncodeAuthIdentityAsStrings | Codiert die angegebene Authentifizierungsidentität als drei Zeichenfolgen. |
SspiEncodeStringsAsAuthIdentity | Codiert einen Satz von drei Anmeldeinformationszeichenfolgen als Authentifizierungsidentitätsstruktur. |
SspiEncryptAuthIdentity | Verschlüsselt die angegebene Identitätsstruktur. |
SspiExcludePackage | Erstellt eine neue Identitätsstruktur, bei der es sich um eine Kopie der angegebenen Identitätsstruktur handelt, die geändert wurde, um den angegebenen Sicherheitsunterstützungsanbieter (Security Support Provider , SSP) auszuschließen. |
SspiFreeAuthIdentity | Gibt den für die angegebene Identitätsstruktur zugeordneten Arbeitsspeicher frei. |
SspiGetCredUIContext | Ruft Kontextinformationen von einem Anmeldeinformationsanbieter ab. |
SspiGetTargetHostName | Ruft den Hostnamen ab, der dem angegebenen Ziel zugeordnet ist. |
SspiIsAuthIdentityEncrypted | Gibt an, ob die angegebene Identitätsstruktur verschlüsselt ist. |
SspiIsPromptingNeeded | Gibt an, ob ein Fehler, der nach einem Aufruf der Funktion InitializeSecurityContext oder AcceptSecurityContext zurückgegeben wird, einen zusätzlichen Aufruf der Funktion SspiPromptForCredentials erfordert. |
SspiLocalFree | Gibt den arbeitsspeicher frei, der dem angegebenen Puffer zugeordnet ist. |
SspiMarshalAuthIdentity | Serialisiert die angegebene Identitätsstruktur in ein Bytearray. |
SspiPrepareForCredRead | Generiert einen Zielnamen und einen Anmeldeinformationstyp aus der angegebenen Identitätsstruktur. |
SspiPrepareForCredWrite | Generiert Werte aus einer Identitätsstruktur, die als Werte von Parametern in einem Aufruf der CredWrite-Funktion übergeben werden können. |
SspiPromptForCredentials | Ermöglicht einer SSPI-Anwendung (Security Support Provider Interface), einen Benutzer zur Eingabe von Anmeldeinformationen aufzufordern. |
SspiUnmarshalAuthIdentity | Deserialisiert das angegebene Array von Bytewerten in einer Identitätsstruktur. |
SspiUnmarshalCredUIContext | Deserialisiert Anmeldeinformationen, die von einem Anmeldeinformationsanbieter während eines vorherigen Aufrufs der ICredentialProvider::SetSerialization-Methode abgerufen wurden. |
SspiUpdateCredentials | Updates die Anmeldeinformationen, die dem angegebenen Kontext zugeordnet sind. |
SspiValidateAuthIdentity | Gibt an, ob die angegebene Identitätsstruktur gültig ist. |
SspiZeroAuthIdentity | Füllt den Speicherblock, der der angegebenen Identitätsstruktur zugeordnet ist, mit Nullen auf. |
WlxQueryTsLogonCredentials | Wird von einer GINA-Ersatz-DLL aufgerufen, um Anmeldeinformationen abzurufen, wenn Terminaldienste aktiviert sind. Die GINA-DLL kann diese Informationen dann verwenden, um automatisch ein Anmeldefeld auszufüllen und zu versuchen, den Benutzer anzumelden. |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für