Authentifizierungsfunktionen
Authentifizierungsfunktionen werden nach Verwendung wie folgt kategorisiert:
- SSPI-Funktionen
- Von SSP/APs implementierte Funktionen
- Von Benutzermodus-SSP/APs implementierte Funktionen
- Von SSP/APs aufgerufene LSA-Funktionen
- Von SSP/APs im Benutzermodus aufgerufene LSA-Funktionen
- GINA-Exportfunktionen
- Anmeldebenutzerfunktionen
- Winlogon-Unterstützungsfunktionen
- Netzwerkanbieterfunktionen
- LSA-Anmeldefunktionen
- Von Authentifizierungspaketen implementierte Funktionen
- Von Authentifizierungspaketen aufgerufene LSA-Funktionen
- Unterauthentifizierungsfunktionen
- Funktionen zur Anmeldeinformationsverwaltung
- Smartcardfunktionen
- SASL-Funktionen
- Weitere Funktionen
SSPI-Funktionen
Die Security Support Provider Interface-(SSPI-)Funktionen sind in die folgenden Hauptkategorien unterteilt.
-
Funktionen, die die verfügbaren Sicherheitspakete auflisten und ein Paket auswählen.
Verwaltung von Anmeldeinformationen
Funktionen, die Handles für Anmeldeinformationen von Prinzipalen erstellen und verwenden.
-
Funktionen, die Anmeldeinformationshandles verwenden, um einen Sicherheitskontext zu erstellen.
-
Funktionen, die Sicherheitskontexte verwenden, um die Integrität von Nachrichten und den Datenschutz während des Nachrichtenaustauschs über die gesicherte Verbindung sicherzustellen. Die Integrität wird durch die Überprüfung der Nachrichtensignierung und Signatur erreicht. Der Datenschutz wird durch die Nachrichtenverschlüsselung und -entschlüsselung erreicht.
Paketverwaltung
SSPI-Paketverwaltungsfunktionen initiieren ein Sicherheitspaket, listen verfügbare Pakete auf und fragen die Attribute eines Sicherheitspakets ab. 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 Security Support Provider-(SSP-)Verteilertabelle ab. |
QuerySecurityPackageInfo | Ruft Informationen zu einem angegebenen Sicherheitspaket ab. Diese Informationen umfassen die Grenzen für den Umfang von Authentifizierungsinformationen, Anmeldeinformationen und Kontexten. |
Verwaltung von Anmeldeinformationen
SSPI-Anmeldeinformationsverwaltungsfunktionen 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 sind ü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 Anmeldeinformationshandle mit Kontextverwaltungsfunktionen, um einen Sicherheitskontext zu erstellen.
Die Anmeldeinformationsverwaltungsfunktionen geben auch Anmeldeinformationshandles frei und fragen die Attribute der Anmeldeinformationen ab. Derzeit ist der Name, der mit einer Anmeldeinformation verknüpft ist, das einzige Attribut, das abgefragt werden kann.
Die folgenden Funktionen werden mit der Anmeldeinformationsverwaltung verwendet.
Funktion | Beschreibung |
---|---|
AcquireCredentialsHandle (General) | Erwirbt ein Handle für die bereits vorhandenen Anmeldeinformationen eines angegebenen Prinzipals. |
ExportSecurityContext | Exportiert einen Sicherheitskontext in einen Kontextpuffer. |
FreeCredentialsHandle | Gibt ein Anmeldeinformationshandle und zugehörige Ressourcen frei. |
ImportSecurityContext | Importiert einen Sicherheitskontext, der mithilfe von ExportSecurityContext in den aktuellen Prozess exportiert wird. |
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 der Client und der Server zusammen, um einen freigegebenen Sicherheitskontext zu erstellen. Sowohl der Client als auch der Server verwenden 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 ab, um auf seine Sicherheitsinhalte zuzugreifen.
Ein Kontexthandle ist ein 64-Bit-Wert zwischen {0x00000000, 0x00000000} und {0xFFFFFFFF, 0xFFFFFFFE}.
Die folgenden Funktionen werden mit der Kontextverwaltung verwendet.
Funktion | Beschreibung |
---|---|
AcceptSecurityContext (General) | Wird von einem Server verwendet, um einen Sicherheitskontext basierend auf einer undurchsichtigen Nachricht zu erstellen, die von einem Client empfangen wurde. |
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 überarbeiten müssen, nachdem die Transportanwendung einige Nachrichtenparameter aktualisiert hat. |
DeleteSecurityContext | Gibt einen Sicherheitskontext und zugehörige Ressourcen frei. |
FreeContextBuffer | Gibt einen Speicherpuffer frei, der durch ein Sicherheitspaket zugeordnet ist. |
ImpersonateSecurityContext | Imitiert den Sicherheitskontext vor, um dem System gegenüber als Client aufzutreten. |
InitializeSecurityContext (General) | Wird von einem Client verwendet, um einen Sicherheitskontext zu initiieren, indem eine undurchsichtige Nachricht generiert wird, die an einen Server übergeben wird. |
QueryContextAttributes (General) | 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 es einer Transportanwendung, Attribute eines Sicherheitskontextes für ein Sicherheitspaket festzulegen. Diese Funktion wird nur vom Schannel-Sicherheitspaket unterstützt. |
RevertSecurityContext | Ermöglicht einem Sicherheitspaket, den Identitätswechsel des Aufrufers einzustellen und seinen eigenen Sicherheitskontext wiederherzustellen. |
Nachrichtensupport
SSPI-Nachrichtensupportfunktionen ermöglichen es einer Anwendung, manipulationssichere Nachrichten zu übertragen und zu empfangen sowie Nachrichten zu verschlüsseln und zu entschlüsseln. Diese Funktionen funktionieren 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 Datenstromkontext verwendet wird. Eine Beschreibung dieser Unterschiede finden Sie unter SSPI-Kontextsemantik.
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 die Signatur einer empfangenen Nachricht, die vom Absender mithilfe der MakeSignature-Funktion signiert wurde. |
Von SSP/APs implementierte Funktionen
Die folgenden Funktionen werden von den Sicherheitspaketen, die in Security Support Provider/Authentifizierungspaketen (SSP/APs) enthalten sind, implementiert.
In den folgenden Tabellen wird der erste Satz von Funktionen durch Windows XP SSP/AP-Sicherheitspakete implementiert. Der zweite Satz von Funktionen wird nur von den SSP/AP-Sicherheitspaketen implementiert.
Die Lokale Sicherheitsautorität (Local Security Authority) greift auf diese Funktionen mithilfe der SECPKG_FUNCTION_TABLE-Struktur zu, die von der SSP/AP-Funktion SpLsaModeInitialize bereitgestellt wird.
Die folgenden Funktionen werden von allen Authentifizierungspaketen implementiert.
Funktion | Beschreibung |
---|---|
LsaApCallPackage | Wird von der Local Security Authority (LSA) aufgerufen, wenn eine Anmeldeanwendung mit einer vertrauenswürdigen Verbindung mit der LSA die Funktion LsaCallAuthenticationPackage aufruft und den Bezeichner des Authentifizierungspakets angibt. |
LsaApCallPackagePassthrough | Die Dispatch-Funktion für Passthrough-Anmeldeanforderungen, die an die Funktion LsaCallAuthenticationPackage gesendet werden |
LsaApCallPackageUntrusted | Wird von der Lokalen Sicherheitsautorität (LSA) aufgerufen, wenn eine Anwendung mit einer nicht vertrauenswürdigen Verbindung mit der LSA die Funktion LsaCallAuthenticationPackage aufruft und den Bezeichner des Authentifizierungspakets angibt. |
LsaApInitializePackage | Wird einmal von der lokalen Sicherheitsautorität (Local Security Authority, LSA) während der Systeminitialisierung aufgerufen, um das Authentifizierungspaket 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 Benutzeranmeldeversuch bei der ersten Anmeldung des Benutzers zu authentifizieren. Für den Benutzer wird eine neue Anmeldesitzung eingerichtet, und die Validierungsinformationen für den Benutzer werden zurückgegeben. |
Die folgenden zusätzlichen Funktionen werden von den SSP/AP-Sicherheitspaketen implementiert.
Funktion | Beschreibung |
---|---|
SpAcceptCredentials | Wird von der Lokalen Sicherheitsauthorität (Local Security Authority, LSA) aufgerufen, um das Sicherheitspaket an alle Anmeldeinformationen zu übergeben, die für den authentifizierten Dienstprinzipal gespeichert sind. |
SpAcceptLsaModeContext | Die Serververteilungsfunktion, die zum Erstellen eines von einem Server und Client freigegebenen Sicherheitskontexts verwendet 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 Sicherheitsautorität (Local Security Authority, LSA) aufgerufen. |
SpDeleteContext | Löscht einen Sicherheitskontext. |
SpDeleteCredentials | Löscht Anmeldeinformationen aus der Liste eines Sicherheitspakets mit primären oder ergänzenden Anmeldeinformationen. |
SpFreeCredentialsHandle | Gibt Anmeldeinformationen frei, die durch den Aufruf der SpAcquireCredentialsHandle-Funktion erhalten werden. |
SpGetCredentials | Ruft Benutzeranmeldeinformationen ab. |
SpGetExtendedInformation | Stellt erweiterte Informationen zu einem Sicherheitspaket bereit. |
SpGetInfo | Stellt allgemeine Informationen zum Sicherheitspaket bereit, z. B. den Namen und die Funktionen. |
SpGetUserInfo | Ruft Informationen zu einer Anmeldesitzung ab. |
SPInitialize | Wird von der Lokalen Sicherheitsautorität (LSA) aufgerufen, um ein Sicherheitspaket mit allgemeinen Sicherheitsinformationen und einer Verteilertabelle von Supportfunktionen bereitzustellen. |
SpInitLsaModeContext | Die Clientverteilungsfunktion, die verwendet wird, um einen Sicherheitskontext zwischen einem Server und einem Client herzustellen. |
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 aus. |
SslCrackCertificate | Gibt eine X509Certificate-Struktur mit den Informationen zurück, die im angegebenen Zertifikat-BLOB enthalten sind. |
SslEmptyCache | Entfernt die angegebene Zeichenfolge aus dem Schannel-Cache. |
SslFreeCertificate | Gibt ein Zertifikat frei, das von einem vorherigen Aufruf der Funktion SslCrackCertificate zugewiesen wurde. |
Von Benutzermodus-SSP/APs implementierte Funktionen
Die folgenden Funktionen werden von Security Support Provider/Authentifizierungspaketen (SSP/APs) implementiert, die in Client-/Serveranwendungen geladen werden können.
Ein SSP/AP gibt an, dass er die Benutzermodusfunktionen implementiert, indem er TRUE im MappedContext-Parameter der Funktionen SpInitLsaModeContext und SpAcceptLsaModeContext zurückgibt. Die SpInitLsaModeContext-Funktion wird von der Clientseite einer Transportebenenanwendung 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 von SSP/AP implementierten SpUserModeInitialize-Funktion gefunden und aufgerufen wird. Diese Funktion gibt eine Reihe von Tabellen zurück, die Zeiger auf die in jedem Sicherheitspaket implementierten Benutzermodusfunktionen enthalten.
Nachdem der SSP/AP in den Client- oder Serverprozess geladen wurde, kopiert die Local Security Authority (LSA) die Sicherheitskontextinformationen (zurückgegeben von SpInitLsaModeContext oder SpAcceptLsaModeContext) und alle zusätzlichen kontextbezogenen Daten für den Prozess und rufen die SpInitUserModeContext-Funktion des Sicherheitspakets auf.
Client-/Serveranwendungen greifen auf Benutzermodusfunktionen zu, indem sie Security Support Provider Interface-(SSPI-)Funktionen 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 Funktion SSPI CompleteAuthToken . |
SpDeleteContext | Löscht einen Sicherheitskontext. Implementiert die SSPI-Funktion DeleteSecurityContext. |
SpExportSecurityContext | Exportiert einen Sicherheitskontext in einen anderen Prozess. Implementiert die SSPI-Funktion ExportSecurityContext . |
SpFormatCredentials | Formatiert Anmeldeinformationen, die in einem Benutzerobjekt gespeichert werden sollen. |
SpGetContextToken | Ruft das Token zum Identitätswechsel ab. Wird von der SSPI-Funktion ImpersonateSecurityContext verwendet. |
SpImportSecurityContext | Importiert einen Sicherheitskontext aus einem anderen Prozess. Implementiert die SSPI-Funktion ImportSecurityContext . |
SpInitUserModeContext | Erstellt einen Sicherheitskontext aus einem gepackten Local Security Authority (LSA)-Moduskontext. |
SpInstanceInit | Initialisiert Sicherheitspakete für den Benutzermodus in einem SSP/AP. |
SpMakeSignature | Generiert eine Signatur, basierend auf dem angegebenen Nachrichten- und Sicherheitskontext. Implementiert die SSPI-Funktion MakeSignature. |
SpMarshallSupplementalCreds | Konvertiert ergänzende 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-Funktion QueryContextAttributes (General). |
SpSealMessage | Verschlüsselt eine Nachricht, die zwischen einem Client und einem Server ausgetauscht wird. Implementiert die SSPI-Funktion EncryptMessage (General). |
SpUnsealMessage | Entschlüsselt eine Nachricht, die zuvor mit der SpSealMessage-Funktion verschlüsselt wurde. Implementiert die SSPI-Funktion DecryptMessage (General). |
SpUserModeInitialize | Wird aufgerufen, wenn eine Security Support Provider/Authentifizierungspaket (SSP/AP) DLL 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-Funktion VerifySignature . |
Von SSP/APs aufgerufene LSA-Funktionen
Die Local Security Authority (LSA) stellt die folgenden Funktionen für Sicherheitspakete, die in Security Support Provider/Authentifizierungspaketen (SSP/APs) bereitgestellt wurden, bereit. Die Funktionen sind in der LSA_SECPKG_FUNCTION_TABLE-Struktur verfügbar und können aufgerufen werden, während der SSP/AP in den Prozessbereich der LSA geladen wird. Die folgenden Funktionen stehen allen APs zur Verfügung.
Funktion | Beschreibung |
---|---|
AddCredential | Fügt Benutzeranmeldeinformationen hinzu. |
AllocateClientBuffer | Weist Speicher im Adressraum des Paketclients zu. |
AllocateLsaHeap | Belegt Speicher für den Heap. Einige an die LSA übergebene Informationen werden mit dieser Funktion zugeordnet. |
CopyFromClientBuffer | Kopiert Informationen aus dem Adressraum eines Clientprozesses in einen Puffer im aktuellen Prozess. |
CopyToClientBuffer | Kopiert Informationen aus dem Puffer im aktuellen Prozess in den Adressraum eines Clientprozesses. |
CreateLogonSession | Erstellt Anmeldesitzungen. |
DeleteCredential | Löscht Benutzeranmeldeinformationen. |
DeleteLogonSession | Löscht eine LSA-Anmeldesitzung. |
FreeClientBuffer | Gibt Speicher im Adressraum des Paketclients frei. |
FreeLsaHeap | Gibt einen Speicherblock frei, der zuvor von AllocateLsaHeap belegt wurde. |
GetCredentials | Ruft Anmeldeinformationen ab, die einer Anmeldesitzung zugeordnet sind. |
Die folgenden Funktionen stehen den SSP/APs zur Verfügung.
Funktion | Beschreibung |
---|---|
AllocateSharedMemory | Weist einen Abschnitt des freigegebenen Speichers 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 weiteres Paket auf. |
CallPackagePassthrough | Ruft ein Sicherheitspaket aus einem anderen auf. |
CancelNotification | Die Benachrichtigung für spezielle Ereignisse wird abgebrochen. |
ClientCallback | Ermöglicht es einem Sicherheitspaket, eine Funktion im Clientprozess aufzurufen. Einen Grundtyp der ClientCallback-Funktion finden Sie unter ClientCallback-Funktionsgrundtyp. |
CloseSamUser | Schließt ein Handle für einen Datenbankeintrag des Security Accounts Manager. |
ConvertAuthDataToToken | Konvertiert Autorisierungsdaten in ein Benutzertoken. |
CrackSingleName | Konvertiert einen Namen von einem Format in ein anderes. |
CreateSharedMemory | Erstellt einen Abschnitt des zwischen Clients und SSP/AP gemeinsam genutzten Arbeitsspeichers. |
CreateThread | Erstellt einen neuen Thread. |
CreateToken | Erstellt ein Token. |
DeleteSharedMemory | Löscht einen Abschnitt des freigegebenen Speichers. |
DuplicateHandle | Dupliziert einen Handle. |
FreeReturnBuffer | Gibt einen vom LSA zugewiesenen Puffer frei. |
FreeSharedMemory | Gibt einen Abschnitt des freigegebenen Speichers 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 | Nicht implementiert |
ImpersonateClient | Wird von Sicherheitspaketen aufgerufen, um den Identitätswechsel des Paketbenutzers durchzuführen. |
MapBuffer | Ordnet eine SecBuffer-Struktur dem Adressraum des Authentifizierungspakets für denSecurity Support Provider/-Authentifizierungspaket (SSP/AP) zu. |
OpenSamUser | Ruft ein Handle zu einem Benutzerkonto in der Security Accounts Manager SAM-Datenbank ab. |
RegisterNotification | Stellt einen Mechanismus bereit, mit dem das Sicherheitspaket benachrichtigt wird. Benachrichtigungen können in festgelegten Intervallen, bei der Signalisierung eines Ereignisobjekts oder bei bestimmten Systemereignissen erfolgen. |
SaveSupplementalCredentials | Veraltet. Nicht verwenden.. |
UnloadPackage | Entlädt ein Security Support Provider/-Authentifizierungspaket (SSP/AP). |
UpdateCredentials | Stellt einen Mechanismus für ein Sicherheitspaket bereit, um andere Pakete zu benachrichtigen, dass sich die Anmeldeinformationen für eine Anmeldesitzung geändert haben. |
Von SSP/APs im Benutzermodus aufgerufene LSA-Funktionen
Ein Sicherheitspaket in einem Security Support Provider/-Authentifizierungspaket (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 | Weist Speicher für Puffer zu, die an die lokale Sicherheitsautorität (LSA) zurückgegeben werden. |
FreeHeap | Gibt Arbeitsspeicher frei, der zuvor mithilfe von AllocateHeap zugeordnet 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, Informationen über die Sperre anzuzeigen, 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 an eine Zielsitzung zu übertragen. |
WlxGetStatusMessage | Winlogon ruft diese Funktion auf, um die Statusmeldung 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 Abmeldungsvorgang initiiert. |
WlxLoggedOnSAS | Winlogon ruft diese Funktion auf, wenn ein Secure Attention Sequence-(SAS-)Ereignis empfangen wird, während der Benutzer angemeldet ist und die Arbeitsstation nicht gesperrt ist. |
WlxLoggedOutSAS | Winlogon ruft diese Funktion auf, wenn ein Secure Attention Sequence-(SAS-)Ereignis empfangen wird, während kein Benutzer angemeldet ist. |
WlxLogoff | Winlogon ruft diese Funktion auf, um die GINA über einen Abmeldungsvorgang auf dieser Arbeitsstation zu benachrichtigen, sodass GINA alle möglicherweise erforderlichen Abmeldungsvorgänge ausführt. |
WlxNegotiate | Die WlxNegotiate-Funktion muss durch eine GINA-Ersatz-DLL implementiert werden. Dies ist der erste Aufruf von Winlogon an die GINA-DLL. Mit WlxNegotiate kann 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 Statusmeldung zu beenden. |
WlxScreenSaverNotify | Winlogon ruft diese Funktion unmittelbar vor dem Aktivieren eines Bildschirmschoners auf, sodass GINA mit dem Bildschirmschonerprogramm interagieren kann. |
WlxShutdown | Winlogon ruft diese Funktion direkt vor dem Herunterfahren auf, sodass GINA alle Aufgaben für das Herunterfahren ausführen kann, z. B. das Auswerfen einer Smartcard aus einem Lesegerät. |
WlxStartApplication | Winlogon ruft diese Funktion auf, wenn das System erfordert, dass eine Anwendung im Kontext des Benutzers gestartet wird. |
WlxWkstaLockedSAS | Winlogon ruft diese Funktion auf, wenn ein Secure Attention Sequence (SAS) empfangen wird und die Arbeitsstation gesperrt ist. |
Anmeldebenutzerfunktionen
Die folgenden Funktionen ermöglichen die Anmeldung eines Benutzers.
Funktion | Beschreibung |
---|---|
LogonUser | Versucht, einen Benutzer am lokalen Computer anzumelden. |
LogonUserEx | Versucht, einen Benutzer am lokalen Computer anzumelden. Diese Funktion ist eine erweiterte Version der LogonUser-Funktion und ruft Informationen zum Sicherheitsbezeichner (SID), das Profil und die Kontingentbeschränkungen des Benutzers ab. |
LogonUserExExW | Die LogonUserExW-Funktion versucht, einen Benutzer auf dem lokalen Computer anzumelden. Diese Funktion wird nicht in einem öffentlichen Header deklariert und weist keine zugehörige Importbibliothek auf. Sie müssen die Funktionen LoadLibrary und GetProcAddress verwenden, um dynamisch eine Verknüpfung mit Advapi32.dll herzustellen. |
Winlogon-Unterstützungsfunktionen
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 diesen nach dem Schließen zu bereinigen. |
WlxCreateUserDesktop | Wird von GINA aufgerufen, um alternative Anwendungsdesktops für den Benutzer zu erstellen. |
WlxDialogBox | Wird von GINA aufgerufen, um ein modales Dialogfeld aus einer Dialogfeldvorlage zu erstellen. |
WlxDialogBoxIndirect | Wird von GINA aufgerufen, um ein modales Dialogfeld aus einer Dialogfeldvorlage im Speicher zu erstellen. |
WlxDialogBoxIndirectParam | Wird von GINA aufgerufen, um Dialogfeld-Steuerelemente zu initialisieren und dann ein modales Dialogfeld aus einer Dialogfeldvorlage im Arbeitsspeicher zu erstellen. |
WlxDialogBoxParam | Wird von GINA aufgerufen, um Dialogfeld-Steuerelemente zu initialisieren und dann ein modales Dialogfeld aus einer Dialogfeldvorlagen-Ressource zu erstellen. |
WlxDisconnect | Wird von einer Ersatz-GINA-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um eine 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 den Handle des Desktops zu ermitteln, der aktuell war, bevor Winlogon zum Winlogon-Desktop gewechselt hat. |
WlxMessageBox | Wird von GINA aufgerufen, um ein Meldungsfeld zu erstellen, anzuzeigen und zu betreiben. |
WlxQueryClientCredentials | Wird von einer Ersatz-GINA-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um die Anmeldeinformationen von Remote-Terminaldienst-Clients abzurufen, die keine Internet-Connector-Lizenz verwenden. |
WlxQueryConsoleSwitchCredentials | Wird von GINA aufgerufen, um die Anmeldeinformationen zu lesen, die von Winlogon der temporären Sitzung an Zielsitzungs-Winlogon übertragen wurden. |
WlxQueryInetConnectorCredentials | Wird von einer Ersatz-GINA-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um zu bestimmen, ob der Terminalserver die Internet-Connector-Lizenzierung verwendet, und um die Anmeldeinformationen abzurufen. |
WlxQueryTerminalServicesData | Wird von GINA aufgerufen, um Benutzerkonfigurationsinformationen für Terminaldienste abzurufen, nachdem sich ein Benutzer angemeldet hat. |
WlxSasNotify | Wird von GINA aufgerufen, um Winlogon eines Secure Attention Sequence-(SAS)-Ereignisses zu benachrichtigen. |
WlxSetContextPointer | Wird von GINA aufgerufen, um den Kontextzeiger anzugeben, der von Winlogon als erster Parameter für alle zukünftigen Aufrufe von GINA-Funktionen übergeben wird. |
WlxSetOption | Wird von GINA aufgerufen, um den Wert einer Option festzulegen. |
WlxSetReturnDesktop | Wird von GINA aufgerufen, um den alternativen Anwendungsdesktop anzugeben, zu dem Winlogon wechseln wird, wenn die aktuelle Secure Attention Sequence-(SAS-)Ereignisverarbeitungsfunktion abgeschlossen ist. |
WlxSetTimeout | Wird von GINA aufgerufen, um das einem Dialogfeld zugeordnete Timeout zu ändern. Das Standardtimeout beträgt zwei Minuten. |
WlxSwitchDesktopToUser | Wird von GINA aufgerufen, um zum Anwendungsdesktop zu wechseln. |
WlxSwitchDesktopToWinlogon | Lässt den GINA-DLL-Wechsel zum Winlogon-Desktop zu. |
WlxUseCtrlAltDel | Wird von GINA aufgerufen, um Winlogon mitzuteilen, die Standardkombination STRG+ALT+ENTF als eine Secure Attention Sequence (SAS) zu verwenden. |
WlxWin31Migrate | Wird von einer Ersatz-GINA-DLL aufgerufen, wenn Terminaldienste aktiviert sind. GINA ruft diese Funktion auf, um die Einrichtung des Terminaldienste-Clients abzuschließen. |
Netzwerkanbieterfunktionen
Die folgenden Themen enthalten Referenzinformationen für die Netzwerkanbieterfunktionen.
Thema | Beschreibung |
---|---|
Von Netzwerkanbietern implementierte Funktionen | Detailfunktionen, die von Netzwerkanbietern implementiert werden können. |
Supportfunktionen | Details einer Funktion, die vom Betriebssystem implementiert wird und von Netzwerkanbietern aufgerufen werden kann. |
Funktionen für Verbindungsbenachrichtigungen | Detailfunktionen, die von Anwendungen implementiert werden, die Benachrichtigungen vom Multiple Provider Router (MPR) erhalten müssen, wenn eine Verbindung zu einer Netzwerkressource hergestellt oder getrennt wird. |
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 zurzeit 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 verwendet werden, die derzeit verbunden ist. |
NPGetDirectoryType | Bestimmt den Typ eines Netzwerkverzeichnisses. |
NPGetPropertyText | Ruft die Namen der Schaltflächen ab, die einem Eigenschaftendialogfeld für eine Netzwerkressource hinzugefügt werden sollen. |
NPGetResourceInformation | Trennt den Teil einer Netzwerkressource, auf den über die WNet-API zugegriffen wird, von dem Teil, auf den über APIs zugegriffen wird, die für den Ressourcentyp spezifisch sind. |
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 abzurufen. |
NPPropertyDialog | Wird aufgerufen, wenn der Benutzer auf eine Schaltfläche klickt, die mithilfe der NPPropertyDialog-Funktion hinzugefügt wird. Die NPPropertyDialog-Funktion wird nur für Datei- und Verzeichnisnetzwerkeigenschaften aufgerufen. |
NPSearchDialog | Ermöglicht Netzwerkverkäufern, ihr eigenes Suchformular bereitzustellen, das über die hierarchische Ansicht im DialogfeldVerbindung angezeigt wird. |
Supportfunktionen
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. |
Funktionen für Verbindungsbenachrichtigungen
Die folgenden Funktionen werden von den Anwendungen implementiert, die Benachrichtigungen vom Multiple Provider Router (MPR) erhalten müssen, wenn eine Verbindung zu einer Netzwerkressource hergestellt 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 Hinzufügen von Verbindungsvorgängen (WNetAddConnection, WNetAddConnection2 und WNetAddConnection3) aufgerufen. |
CancelConnectNotify | Wird vor und nach jedem Abbruchverbindungsvorgang (WNetCancelConnection oder WNetCancelConnection2) aufgerufen. |
LSA-Anmeldefunktionen
Die folgenden Authentifizierungsfunktionen der lokalen Sicherheitsauthorität (LSA) authentifizieren und melden Benutzer an und stellen Anmeldesitzungsinformationen bereit.
Funktion | Beschreibung |
---|---|
LsaCallAuthenticationPackage | Fordert einen paketspezifischen Dienst von einem Authentifizierungspaket an. |
LsaConnectUntrusted | Stellt eine nicht vertrauenswürdige Verbindung mit der LSA her. |
LsaDeregisterLogonProcess | Trennt die Verbindung mit der 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 den einem Puffer zugewiesenen Speicher frei, der an einen Aufrufer zurückgegeben wird. |
LsaGetLogonSessionData | Ruft Informationen zu einer angegebenen Anmeldesitzung ab. |
LsaLogonUser | Authentifiziert Benutzeranmeldedaten für gespeicherte Anmeldeinformationen. Bei erfolgreicher Ausführung wird eine neue Anmeldesitzung erstellt und ein Benutzertoken zurückgegeben. |
LsaLookupAuthenticationPackage | Ruft die eindeutige Kennung eines Authentifizierungspakets ab. |
LsaQueryDomainInformationPolicy | Ruft Domäneninformationen aus dem Policy-Objekt ab. |
LsaQueryForestTrustInformation | Ruft Vertrauensinformationen für die Gesamtstruktur für das angegebene Local Security Authority TrustedDomain-Objekt 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 für die Gesamtstruktur für ein angegebene Local Security Authority TrustedDomain-Objekt fest. |
Von Authentifizierungspaketen implementierte Funktionen
Benutzerdefinierte Authentifizierungspakete müssen diese Funktionen implementieren, die von der lokalen Sicherheitsauthoritä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 die direkte Kommunikation mit Authentifizierungspaketen für Anmeldeanwendungen. |
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 die SeTcbPrivilege-Berechtigung 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 für die Anmeldesitzung zugewiesenen Ressourcen freigeben kann. |
LsaApLogonUser | Wird aufgerufen, wenn das Authentifizierungspaket in einem Aufruf von LsaLogonUser angegeben wurde. Diese Funktion authentifiziert die Anmeldedaten eines Sicherheitsprinzipals. |
LsaApLogonUserEx | Identisch mit LsaApLogonUser, außer dass dabei der Arbeitsstationsname für Überwachungszwecke zurückgegeben wird. Ein Authentifizierungspaket kann LsaApLogonUser, LsaApLogonUserEx oder LsaApLogonUserEx2 implementieren. Es müssen nicht alle implementiert werden. |
LsaApLogonUserEx2 | Identisch mit LsaApLogonUserEx, mit der Ausnahme, dass die primären und ergänzenden Anmeldeinformationen des Sicherheitsprinzipals zurückgegeben werden. Ein Authentifizierungspaket kann LsaApLogonUser, LsaApLogonUserEx oder LsaApLogonUserEx2 implementieren. Es müssen nicht alle implementiert werden. |
Von Authentifizierungspaketen aufgerufene LSA-Funktionen
Die folgenden Funktionen der lokalen Sicherheitsauthorität (LSA) können über ein benutzerdefiniertes Authentifizierungspaket aufgerufen werden. Wenn die LSA LsaApInitializePackage zum Initialisieren des Pakets aufruft, wird eine Tabelle mit Unterstützungsfunktionen übergeben.
Funktion | Beschreibung |
---|---|
AddCredential | Fügt einer Anmeldesitzung Anmeldeinformationen hinzu. |
AllocateClientBuffer | Weist einen Puffer im Adressraum des Clients zu. |
AllocateLsaHeap | Weist Puffer zu, die vom Authentifizierungspaket an die LSA zurückgegeben werden müssen. |
CopyFromClientBuffer | Kopiert den Inhalt eines Puffers im Adressbereich des Clients in einen lokalen Puffer. |
CopyToClientBuffer | Kopiert den Inhalt eines lokalen Puffers in den Adressbereich des Clients. |
CreateLogonSession | Wird von Authentifizierungspaketen zum Erstellen einer Anmeldesitzung verwendet. |
DeleteCredential | Löscht eine vorhandene Anmeldeinformation. |
DeleteLogonSession | Bereinigt alle Anmeldesitzungen, die erstellt wurden, und bestimmt, ob die Authentifizierungsinformationen eines Benutzers legitim sind. |
FreeClientBuffer | Gibt einen Clientpuffer frei, der zuvor mit der AllocateClientBuffer-Funktion zugewiesen 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 durch Microsoft bereitgestellte Authentifizierungspakete aufgerufen werden, um eine zusätzliche, vom Benutzer erstellte Anmeldeauthentifizierung bereitzustellen.
Funktion | Beschreibung |
---|---|
Msv1_0SubAuthenticationFilter | Führt eine Benutzeranmeldungsauthentifizierung aus, die spezifisch für Domänencontroller ist. |
Msv1_0SubAuthenticationRoutine | Führt eine client-/serverspezifische Authentifizierung aus. |
Funktionen zur Anmeldeinformationsverwaltung
Die folgenden Themen enthalten Referenzinformationen für die Anmeldeinformationsverwaltungsfunktionen.
Thema | Beschreibung |
---|---|
UI-Funktionen zur Anmeldeinformationsverwaltung | Detailfunktionen, die für die Anmeldeinformationsverwaltungs-UI verwendet werden. |
Verwaltung von Anmeldeinformationen auf niedriger Ebene | Detailfunktionen, die für die Verwaltung von Anmeldeinformationen auf niedriger Ebene verwendet werden. |
Benachrichtigungsfunktionen für die Anmeldeinformationsverwaltung | Detailfunktionen, die von Anmeldeinformations-Managern implementiert werden, um Benachrichtigungen bei Änderungen der Authentifizierungsinformationen zu erhalten. |
UI-Funktionen zur Anmeldeinformationsverwaltung
Im Folgenden sind die UI-Funktionen für die Anmeldeinformationenverwaltung aufgeführt.
Funktion | Beschreibung |
---|---|
CredUICmdLinePromptForCredentials | Fordern Sie von einem Benutzer, der in einem Befehlszeilenprogramm arbeitet, Anmeldeinformationen an, und akzeptieren Sie diese. |
CredUIConfirmCredentials | Bestätigen 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 | Anzeigen eines Dialogfelds, in dem Anmeldeinformationen von einem Benutzer akzeptiert werden. |
CredUIPromptForWindowsCredentials | Erstellt und zeigt ein konfigurierbares Dialogfeld an, in dem Benutzer Anmeldeinformationen mithilfe eines auf dem lokalen Computer installierten Anmeldeinformationsanbieters bereitstellen können. |
CredUIReadSSOCredW | Ruft den Benutzernamen für einzelne Anmeldeinformationen ab. |
CredUIStoreSSOCredW | Speichert Anmeldeinformationen. |
Verwaltung von Anmeldeinformationen auf niedriger Ebene
Nachfolgend sind die Verwaltungsfunktionen für Anmeldeinformationen auf niedriger Ebene aufgeführt.
Funktion | Beschreibung |
---|---|
CredDelete | Löscht einzelne Anmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers. |
CredEnumerate | Listet die Anmeldeinformationen im Anmeldeinformationssatz eines Benutzers auf. |
CredFindBestCredential | Durchsucht die Verwaltungsdatenbank für Anmeldeinformationen (CredMan) nach der Gruppe generischer Anmeldeinformationen, die der aktuellen Anmeldesitzung zugeordnet sind und die am besten mit der angegebenen Zielressource übereinstimmen. |
CredFree | Gibt den einen für einen Puffer verwendeten Arbeitsspeicher frei, der von einer der Anmeldeinformationsverwaltungsfunktionen zurückgegeben wird. |
CredGetSessionTypes | Ruft 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 einzelne gemarshallte Anmeldeinformationen handelt, für die zuvor von CredMarshalCredential ein Marshalling ausgeführt wurde. |
CredIsProtected | Gibt an, ob die angegebenen Anmeldeinformationen durch einen vorherigen Aufruf der CredProtect-Funktion verschlüsselt werden. |
CredMarshalCredential | Transformiert einzelne Anmeldeinformationen in eine Textzeichenfolge. |
CredPackAuthenticationBuffer | Wandelt einen Zeichenfolgenbenutzernamen und ein Kennwort in einen Authentifizierungspuffer um. |
CredProtect | Verschlüsselt die angegebenen Anmeldeinformationen, sodass sie nur vom aktuellen Sicherheitskontext entschlüsselt werden können. |
CredRead | Liest die Anmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers. |
CredReadDomainCredentials | Liest die Domänenanmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers. |
CredRename | Nennt einzelne Anmeldeinformationen aus dem Anmeldeinformationssatz eines Benutzers um. |
CredUnmarshalCredential | Transformiert eine gemarshallte Anmeldeinformationszeichenfolge wieder in ihre nicht gemarshallte Form. |
CredUnPackAuthenticationBuffer | Wandelt einen Authentifizierungspuffer, der von einem Aufruf der CredUIPromptForWindowsCredentials-Funktion zurückgegeben wird, in einen Zeichenfolgenbenutzernamen und ein Kennwort um. |
CredUnprotect | Entschlüsselt Anmeldeinformationen, die zuvor mithilfe der CredProtect-Funktion verschlüsselt wurden. |
CredWrite | Erstellt neue Anmeldeinformationen oder ändert vorhandene Anmeldeinformationen im Anmeldeinformationssatz eines Benutzers. |
CredWriteDomainCredentials | Schreibt Domänenanmeldeinformationen in den Anmeldeinformationssatz eines Benutzers. |
Benachrichtigungsfunktionen für die Anmeldeinformationsverwaltung
Die folgenden Funktionen werden von den Anmeldeinformations-Managern implementiert, um Benachrichtigungen bei Änderungen der Authentifizierungsinformationen zu erhalten.
Funktion | Beschreibung |
---|---|
NPLogonNotify | MPR ruft diese Funktion auf, um den Anmeldeinformations-Manager zu benachrichtigen, dass ein Anmeldeereignis aufgetreten ist, sodass dieser 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 stellt die folgenden Funktionen bereit.
Funktion | Beschreibung |
---|---|
GetOpenCardName | Wird ersetzt durch SCardUIDlgSelectCard, das das Dialogfeld Smartcard auswählen anzeigt. |
SCardAccessStartedEvent | Ruft ein Ereignishandle ab, wenn der Start eines Smartcard-Ressourcen-Managers signalisiert wird. |
SCardAddReaderToGroup | Fügt einer Lesergruppe ein Lesegerät 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 Smartcard her. |
SCardControl | Ruft die direkte Steuerung des Lesegeräts ab, nachdem SCardConnect aufgerufen wurde. |
SCardDisconnect | Trennt eine Verbindung zwischen der aufrufenden Anwendung und einer Smartcard. |
SCardEndTransaction | Schließt eine Transaktion ab. |
SCardEstablishContext | Richtet einen Ressourcen-Manager-Kontext für den Zugriff auf die Smartcarddatenbank ein. |
SCardForgetCardType | Entfernt eine zuvor definierte Smartcard aus dem Smartcard-Subsystem. |
SCardForgetReader | Entfernt ein zuvor definiertes Lesegerät aus dem Smartcard-Subsystem. |
SCardForgetReaderGroup | Entfernt eine zuvor definierte Lesegerätgruppe aus dem Smartcard-Subsystem. |
SCardFreeMemory | Gibt den vom Ressourcen-Manager zugeordneten Arbeitsspeicher frei. |
SCardGetAttrib | Ruft die Attribute des aktuellen Lesegeräts von einem bestimmten Lesegerät, Treiber oder einer Smartcard ab. |
SCardGetCardTypeProviderName | Ruft den Anbieternamen ab, der einem Kartennamen und einem Anbietertyp zugeordnet ist. |
SCardGetDeviceTypeId | Ruft den Gerätetypbezeichner des Kartenlesegeräts für den angegebenen Lesegerätnamen ab. Diese Funktion wirkt sich nicht auf den Status des Lesegeräts aus. |
SCardGetProviderId | Ruft den Bezeichner (GUID) des primären Dienstanbieters für eine Smartcard ab. |
SCardGetReaderDeviceInstanceId | Ruft die Gerätetypinstanz des Kartenlesegeräts für den angegebenen Lesegerätnamen ab. Diese Funktion wirkt sich nicht auf den Status des Lesegeräts aus. |
SCardGetReaderIcon | Ruft ein Symbol des Smartcard-Lesegeräts für den Namen eines bestimmten Lesegeräts ab. |
SCardGetStatusChange | Blockiert die Ausführung, bis sich der Status der Lesegeräte ändert. |
SCardGetTransmitCount | Ruft die Anzahl der Übertragungsvorgänge ab, die seit dem Einfügen des angegebenen Kartenlesegeräts abgeschlossen wurden. |
SCardIntroduceCardType | Führt eine neue Smartcard in das Smartcard-Subsystem ein. |
SCardIntroduceReader | Führt ein neues Lesegerät in das Smartcard-Subsystem ein. |
SCardIntroduceReaderGroup | Führt eine neue Lesegerätgruppe in das Smartcard-Subsystem ein. |
SCardIsValidContext | Überprüft ein Smartcard-Kontexthandle. |
SCardListCards | Stellt eine Liste der Smartcards bereit, die bereits im Subsystem eingeführt wurden. |
SCardListInterfaces | Stellt eine Liste der Schnittstellen bereit, die von einer bestimmten Smartcard bereitgestellt werden. |
SCardListReaderGroups | Stellt eine Liste der Lesegerätgruppen bereit, die bereits im Subsystem eingeführt wurden. |
SCardListReaders | Stellt eine Liste der Lesegeräte bereit, die bereits im Subsystem eingeführt wurden. |
SCardListReadersWithDeviceInstanceId | Ruft die Liste der Lesegeräte ab, die einen Geräteinstanzbezeichner bereitgestellt haben. Diese Funktion wirkt sich nicht auf den Status des Lesegeräts aus. |
SCardLocateCards | Sucht die Karten, die mit einer bestimmten ATR-Zeichenfolge übereinstimmen. |
SCardLocateCardsByATR | Sucht die Karten, die mit einer bestimmten ATR-Zeichenfolge übereinstimmen. |
SCardReadCache | Ruft den Wertteil eines Namens-Wert-Paars aus dem globalen Cache ab, der vom SmartCard-Ressourcenmanager verwaltet wird. |
SCardReconnect | Erstellt eine vorhandene Verbindung aus der aufrufenden Anwendung mit der Smartcard wieder her. |
SCardReleaseContext | Schließt einen eingerichteten Ressourcenmanager-Kontext. |
SCardReleaseStartedEvent | Erhöht die Referenzanzahl für ein Handle, das mithilfe der Funktion SCardAccessStartedEvent abgerufen wird. |
SCardRemoveReaderFromGroup | Entfernt ein Lesegerät aus einer vorhandenen Lesegerätgruppe. |
SCardSetAttrib | Legt ein bestimmtes Lesegerätattribut fest. |
SCardSetCardTypeProviderName | Legt den Anbieternamen für einen Kartennamen und einen Anbietertyp fest. |
SCardStatus | Ruft den aktuellen Status eines Lesegeräts ab. |
SCardTransmit | Sendet eine Serviceanfrage an eine Smartcard. |
SCardUIDlgSelectCard | Zeigt das Dialogfeld Karte auswählen an. |
SCardWriteCache | Schreibt ein Name-Wert-Paar aus einer Smartcard in den globalen Cache, der vom SmartCard-Ressourcenmanager verwaltet wird. |
SASL-Funktionen
Die SASL (Simple Authentication and Security Layer) stellt die folgenden Funktionen bereit.
Funktionen | Beschreibung |
---|---|
SaslAcceptSecurityContext | Umschließt einen Standardaufruf an die SSPI AcceptSecurityContext (General)-Funktion 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 | Diese gibt die Paketinformationen für das angegebenen Paket zurück. |
SaslIdentifyPackage | Gibt das Aushandlungspräfix zurück, das dem angegebenen SASL-Aushandlungspuffer entspricht. |
SaslInitializeSecurityContext | Umschließt einen Standardaufruf an die SSPI InitializeSecurityContext (General)-Funktion und verarbeitet SASL-Servercookies vom Server. |
SaslSetContextOption | Legt den Wert der angegebenen Eigenschaft für den angegebenen SASL-Kontext fest. |
Weitere Funktionen
Hier sind weitere Funktionen, die für die Authentifizierung verwendet werden.
Funktion | Beschreibung |
---|---|
AddSecurityPackage | Fügt einen Sicherheitssupportanbieter (SSP) der Liste der von Microsoft Negotiate unterstützten Anbieter hinzu. |
ChangeAccountPassword | Ändert das Kennwort für ein Windows-Domänenkonto mithilfe des angegebenen Sicherheitssupportanbieters. |
CredMarshalTargetInfo | Serialisiert das angegebene Ziel in ein Array von Bytewerten. |
DeleteSecurityPackage | Löscht einen Sicherheitssupportanbieter (SSP) aus der Liste der von Microsoft Negotiate unterstützten Anbieter. |
LsaManageSidNameMapping | Fügt SID-/Namenszuordnungen aus dem Zuordnungssatz hinzu, der beim LSA-Nachschlagedienst registriert ist, 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 Berechtigungs-Editor-Dialogfelder. |
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 ist und F1 gedrückt wird. |
SeciAllocateAndSetIPAddress | Legt die IP-Adresse des Anrufers fest, die in Sicherheitsüberwachungsereignissen angezeigt wird. |
SeciFreeCallContext | Gibt den von SeciAllocateAndSetIPAddress zugewiesenen Speicher frei. |
SpGetCredUIContextFn | Ruft Kontextinformationen von einem Anmeldeinformationsanbieter ab. |
SpLsaModeInitialize | Stellt die LSA mit Zeigern auf die Funktionen bereit, die von jedem Sicherheitspaket in der SSP/AP-DLL implementiert werden. |
SpQueryMetaDataFn | Ruft Metadaten von einem Sicherheitssupportanbieter (SSP) ab, wenn er einen Sicherheitskontext initiiert. |
SpUpdateCredentialsFn | Aktualisiert 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 eine Reihe von drei Anmeldeinformationszeichenfolgen als Authentifizierungsidentitätsstruktur. |
SspiEncryptAuthIdentity | Verschlüsselt die angegebene Identitätsstruktur. |
SspiExcludePackage | Erstellt eine neue Identitätsstruktur, die eine Kopie der angegebenen geänderten Identitätsstruktur ist, um den angegebenen Sicherheitssupportanbieter (SSP) auszuschließen. |
SspiFreeAuthIdentity | Gibt den für die angegebene Identitätsstruktur zugewiesenen Speicher 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 nach einem Aufruf an InitializeSecurityContext oder AcceptSecurityContext ein Fehler zurückgegeben wurde, der einen zusätzlichen Aufruf an die SspiPromptForCredentials-Funktion erfordert. |
SspiLocalFree | Gibt den Speicher 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 Parameterwerte in einem Aufruf der CredWrite-Funktion übergeben werden kann. |
SspiPromptForCredentials | Ermöglicht es einer Sicherheitssupportanbieter-Schnittstelle-(SSPI-)Anwendung, einen Benutzer aufzufordern, Anmeldeinformationen einzugeben. |
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 | Aktualisiert die Anmeldeinformationen, die dem angegebenen Kontext zugeordnet sind. |
SspiValidateAuthIdentity | Gibt an, ob die angegebene Identitätsstruktur gültig ist. |
SspiZeroAuthIdentity | Füllt den Speicherblock aus, der der angegebenen Identitätsstruktur mit Nullen zugeordnet ist. |
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 den Benutzer anzumelden. |