QueryContextAttributes-Funktion (Negotiate)
Die Funktion QueryContextAttributes (Negotiate) ermöglicht es einer Transportanwendung, das Negotiate-Sicherheitspaket nach bestimmten Attributen eines Sicherheitskontexts abzufragen.
Syntax
SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ PVOID pBuffer
);
Parameter
-
phContext [in]
-
Ein Handle für den abzufragenden Sicherheitskontext .
-
ulAttribute [in]
-
Gibt das Attribut des zurückzugebenden Kontexts an. Dieser Parameter kann einen der folgenden Werte annehmen.
Wert Bedeutung - SECPKG_ATTR_ACCESS_TOKEN
- 18
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_AccessToken-Struktur .
Gibt ein Handle für das Zugriffstoken zurück.- SECPKG_ATTR_AUTHORITY
- 6
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Authority-Struktur .
Fragt den Namen der authentifizierenden Autorität ab.- SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
- 27
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_ClientSpecifiedTarget-Struktur , die den Dienstprinzipalnamen (SPN) des anfänglichen Ziels darstellt, das vom Client bereitgestellt wird.
Dieser Wert wird nur unterstützt, wenn Kanalbindungen verwendet werden.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.- SECPKG_ATTR_CREDS_2
- 0x80000086
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_ClientCreds-Struktur , die Clientanmeldeinformationen angibt.
Wenn die Clientanmeldeinformationen Benutzername und Kennwort sind, ist der Puffer eine gepackte KERB_INTERACTIVE_LOGON Struktur.
Wenn die Clientanmeldeinformationen benutzername und smart Karte PIN sind, ist der Puffer eine gepackte KERB_CERTIFICATE_LOGON Struktur.
Wenn es sich bei den Clientanmeldeinformationen um Online-Identitätsanmeldeinformationen handelt, handelt es sich bei dem Puffer um eine gemarshallte SEC_WINNT_AUTH_IDENTITY_EX2-Struktur .
Dieses Attribut wird nur auf dem CredSSP-Server unterstützt.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.- SECPKG_ATTR_DCE_INFO
- 3
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_DceInfo-Struktur .
Abfragen von Autorisierungsdaten, die von DCE-Diensten verwendet werden.- SECPKG_ATTR_FLAGS
- 14
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Flags-Struktur .
Gibt Informationen zu den ausgehandelten Kontextflags zurück.- SECPKG_ATTR_KEY_INFO
- 5
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_KeyInfo-Struktur .
Fragt Informationen zu den Schlüsseln ab, die in einem Sicherheitskontext verwendet werden.- SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
- 30
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_LastClientTokenStatus-Struktur , die angibt, ob das Token aus dem letzten Aufruf der InitializeSecurityContext-Funktion das letzte Token vom Client ist.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.- SECPKG_ATTR_LIFESPAN
- 2
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Lifespan-Struktur .
Fragt die Lebensdauer des Kontexts ab.- SECPKG_ATTR_LOCAL_CRED
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_LocalCredentialInfo-Struktur . (Veraltet)
Ersetzt durch SECPKG_ATTR_LOCAL_CERT_CONTEXT.- SECPKG_ATTR_NAMES
- 1
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Names-Struktur .
Fragt den Namen ab, der dem Kontext zugeordnet ist.- SECPKG_ATTR_NATIVE_NAMES
- 13
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_NativeNames-Struktur .
Gibt den Prinzipalnamen (CNAME) aus dem ausgehenden Ticket zurück.- SECPKG_ATTR_NEGOTIATION_INFO
- 12
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_NegotiationInfo-Struktur .
Gibt Informationen zum Sicherheitspaket zurück, das beim Aushandlungsprozess verwendet werden soll, und den aktuellen Zustand der Aushandlung für die Verwendung dieses Pakets.- SECPKG_ATTR_PACKAGE_INFO
- 10
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_PackageInfo-Struktur .
Gibt Informationen zum verwendeten SSP zurück.- SECPKG_ATTR_PASSWORD_EXPIRY
- 8
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_PasswordExpiry-Struktur .
Gibt Informationen zum Kennwortablauf zurück.- SECPKG_ATTR_ROOT_STORE
- 0x55
Der pBuffer-Parameter enthält einen Zeiger auf HCERTCONTEXT.
Sucht nach einem Zertifikatkontext, der ein vom Stammspeicher bereitgestelltes Zertifikat enthält.- SECPKG_ATTR_SESSION_KEY
- 9
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_SessionKey-Struktur .
Gibt Informationen zu den Sitzungsschlüsselnzurück.- SECPKG_ATTR_SIZES
- 0
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Sizes-Struktur .
Fragt die Größe der Strukturen ab, die in den Nachrichtenfunktionen verwendet werden.- SECPKG_ATTR_TARGET_INFORMATION
- 17
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_TargetInformation-Struktur .
Gibt Informationen zum Namen des Remoteservers zurück. -
pBuffer [out]
-
Ein Zeiger auf eine Struktur, die die Attribute empfängt. Der Typ der Struktur, auf die verwiesen wird, hängt vom wert ab, der im ulAttribute-Parameter angegeben ist.
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert SEC_E_OK.
Wenn die Funktion fehlschlägt, ist der Rückgabewert ein Fehlercode ungleich null.
Bemerkungen
Die Struktur, auf die der pBuffer-Parameter verweist, hängt vom abgefragten Attribut ab. Der Aufrufer muss die pBuffer-Struktur selbst zuordnen, aber der SSP weist alle Arbeitsspeicher zu, die für die Aufnahme von Membern mit variabler Größe der pBuffer-Struktur erforderlich sind. Der vom SSP zugeordnete Arbeitsspeicher kann durch Aufrufen der FreeContextBuffer-Funktion freigegeben werden.
Nachdem der SECPKG_ATTR_REMOTE_CERT_CONTEXT oder SECPKG_ATTR_LOCAL_CERT_CONTEXT Wert gelesen wurde, wird das hCertStore-Element auf ein Handle für einen Zertifikatspeicher festgelegt, der ggf. die Zwischenzertifikate enthält. Außerdem ist die Anwendung für den Aufruf von CertFreeCertificateContext verantwortlich, um den vom Zertifikatkontext verwendeten Arbeitsspeicher freizugeben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2003 [nur Desktop-Apps] |
Header |
|
Bibliothek |
|
DLL |
|
Unicode- und ANSI-Name |
QueryContextAttributesW (Unicode) und QueryContextAttributesA (ANSI) |
Siehe auch