Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die QueryContextAttributes (Schannel)-Funktion ermöglicht es einer Transportanwendung, das Schannel-Sicherheitspaket nach bestimmten Attributen eines Sicherheitskontexts abzufragen.
Syntax
SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ PVOID pBuffer
);
Die Parameter
-
phContext [in]
-
Ein Handle für den Sicherheitskontext , der abgefragt werden soll.
-
ulAttribute [in]
-
Gibt das Attribut des zurückzugebenden Kontexts an. Dieser Parameter kann einer der folgenden Werte sein:
Wert Bedeutung - SECPKG_ATTR_ACCESS_TOKEN
- 13
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_AccessToken Struktur.
Gibt ein Handle an das Zugriffstoken zurück.- SECPKG_ATTR_APP_DATA
- 0x5E
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_SessionAppData Struktur.
Gibt Anwendungsdaten für die Sitzung zurück oder gibt diese an.
Dieses Attribut wird nur vom Schannel-Sicherheitspaket unterstützt.- SECPKG_ATTR_AUTHORITY
- 6
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Authority Struktur.
Fragt den Namen der Authentifizierungsautorität ab.- SECPKG_ATTR_CIPHER_INFO
- 0x64
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_CipherInfo Struktur.
Gibt eine neue CNG-Chiffre-Informationsstruktur zurück.- SECPKG_ATTR_CONNECTION_INFO
- 0x5a
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_ConnectionInfo Struktur.
Gibt detaillierte Informationen zur hergestellten Verbindung zurück.- SECPKG_ATTR_KEYING_MATERIAL
- 0x6b
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_KeyingMaterial Struktur. Das Schlüsselmaterialexportfeature folgt dem RFC 5705-Standard.
Abfragen dieses Attributs, bevor der geheime Hauptschlüssel generiert wurde oder bevor das attribut SECPKG_ATTR_KEYING_MATERIAL_INFO mit einem Fehler festgelegt wurde.
Dieses Attribut wird nur vom Schannel-Sicherheitspaket in Windows 10 und Windows Server 2016 oder höher 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 Smartcard-PIN sind, ist der Puffer eine gepackte KERB_CERTIFICATE_LOGON Struktur.
Wenn es sich bei den Clientanmeldeinformationen um eine Onlineidentität handelt, handelt es sich bei dem Puffer um eine gemarstische 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 nach Autorisierungsdaten, die von DCE-Diensten verwendet werden.- SECPKG_ATTR_EAP_KEY_BLOCK
- 0x5b
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_EapKeyBlock Struktur.
Abfragen nach Schlüsseldaten, die vom EAP TLS-Protokoll verwendet werden.
Dieses Attribut wird nur vom Schannel-Sicherheitspaket unterstützt.- SECPKG_ATTR_ENDPOINT_BINDINGS
- 26
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Bindings Struktur, die die Kanalbindungen für TLS (RFC 5929) enthält.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.- SECPKG_ATTR_FLAGS
- 14
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Flags Struktur.
Gibt Informationen zu den ausgehandelten Kontextkennzeichnungen zurück.- SECPKG_ATTR_ISSUER_LIST_EX
- 0x59
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_IssuerListInfoEx Struktur.
Gibt eine Liste der Zertifikataussteller zurück, die vom Server akzeptiert werden.
Dieses Attribut wird nur vom Schannel-Sicherheitspaket unterstützt.- 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_LIFESPAN
- 2
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Lifespan Struktur.
Fragt die Lebensdauer des Kontexts ab.- SECPKG_ATTR_LOCAL_CERT_CONTEXT
- 0x54
Der pBuffer-Parameter enthält einen Zeiger auf eine PCCERT_CONTEXTStruktur.
Sucht einen Zertifikatkontext, der ein lokales Endzertifikat enthält.
Dieses Attribut wird nur vom Schannel-Sicherheitspaket unterstützt.- SECPKG_ATTR_LOCAL_CRED
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_LocalCredentialInfo Struktur. (veraltet)
Abgelöst von 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 über das Sicherheitspaket zurück, das mit dem Aushandlungsprozess und dem aktuellen Status der Aushandlung für die Verwendung dieses Pakets verwendet werden soll.- 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 Kennwortablaufinformationen zurück.- SECPKG_ATTR_REMOTE_CERT_CONTEXT
- 0x53
Der pBuffer-Parameter enthält einen Zeiger auf eine PCCERT_CONTEXTStruktur.
Sucht einen Zertifikatkontext, der das vom Server bereitgestellte Endzertifikat enthält.
Dieses Attribut wird nur vom Schannel-Sicherheitspaket unterstützt.- SECPKG_ATTR_ROOT_STORE
- 0x55
Der pBuffer-Parameter enthält einen Zeiger auf einen HCERTCONTEXT. Sucht einen Zertifikatkontext, der ein vom Stammspeicher bereitgestelltes Zertifikat enthält. - SECPKG_ATTR_SESSION_INFO
- 0x5D
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_SessionInfo Struktur.
Gibt Informationen zur Sitzung zurück.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.- 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_STREAM_SIZES
- 4
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_StreamSizes Struktur.
Fragt die Größe der verschiedenen Teile eines Datenstroms ab, die in den Nachrichtenfunktionen verwendet werden.- SECPKG_ATTR_SUPPORTED_SIGNATURES
- 0x66
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_SupportedSignatures Struktur.
Dieser Wert gibt Informationen zu den Signaturtypen zurück, die für die Verbindung unterstützt werden.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.- 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.- SECPKG_ATTR_UNIQUE_BINDINGS
- 25
Der pBuffer-Parameter enthält einen Zeiger auf eine SecPkgContext_Bindings Struktur, die Kanalbindungsinformationen enthält.
Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Wert wird nicht unterstützt.- SECPKG_ATTR_APPLICATION_PROTOCOL
- 35
Der Parameter "pBuffer " enthält ein ausgehandeltes Anwendungsprotokoll. - SECPKG_ATTR_DTLS_MTU
- 34
Legt den MTU-Wert (maximale Übertragungseinheit) für die Verwendung mit DTLS fest und ruft diesen ab. Wenn DTLS in einem Sicherheitskontext nicht aktiviert ist, wird dieses Attribut nicht unterstützt.
Gültige Werte liegen zwischen 200 Bytes und 64 Kb. Der Standardwert DTLS MTU in Schannel beträgt 1096 Byte. -
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, variiert je nach abgefragten Attribut. Der Aufrufer muss die pBuffer-Struktur selbst zuweisen, der SSP weist jedoch alle Speicher zu, die zum Speichern variabler Member der pBuffer-Struktur erforderlich sind. Wenn Sie die Verwendung des vom SSP zugewiesenen Arbeitsspeichers abgeschlossen haben, geben Sie sie frei, indem Sie die FreeContextBuffer-Funktion aufrufen.
Nachdem der wert SECPKG_ATTR_REMOTE_CERT_CONTEXT oder SECPKG_ATTR_LOCAL_CERT_CONTEXT gelesen wurde, wird der hCertStore-Member auf ein Handle auf einen Zertifikatspeicher festgelegt, der die Zwischenzertifikate enthält( falls vorhanden). Außerdem ist die Anwendung dafür verantwortlich, CertFreeCertificateContext aufzurufen, um den vom Zertifikatkontext verwendeten Speicher freizugeben.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindest unterstützter Client |
Windows 8.1 [nur Desktop-Apps] |
| Unterstützter Server (Mindestversion) |
Windows Server 2012 R2 [nur Desktop-Apps] |
| Kopfzeile |
|
| Bibliothek |
|
| DLL |
|
| Unicode- und ANSI-Namen |
QueryContextAttributesW (Unicode) und QueryContextAttributesA (ANSI) |
Siehe auch