Sdílet prostřednictvím


Funkce QueryContextAttributes (Schannel)

Funkce QueryContextAttributes (Schannel) umožňuje transportní aplikaci dotazovat balíček zabezpečení Schannel pro určité atributykontextu zabezpečení.

Syntaxe

SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
  _In_  PCtxtHandle phContext,
  _In_  ULONG       ulAttribute,
  _Out_ PVOID       pBuffer
);

Parametry

phContext [in]

Popisovač kontextu zabezpečení , který se má dotazovat.

ulAttribute [in]

Určuje atribut kontextu, který se má vrátit. Tento parametr může být jednou z následujících hodnot.

Hodnota Význam
SECPKG_ATTR_ACCESS_TOKEN
13
Parametr pBuffer obsahuje ukazatel na strukturu SecPkgContext_AccessToken .
Vrátí popisovač přístupového tokenu.
SECPKG_ATTR_APP_DATA
0x5e
Parametr pBuffer obsahuje ukazatel na strukturu SecPkgContext_SessionAppData .
Vrátí nebo určuje data aplikace pro relaci.
Tento atribut podporuje pouze balíček zabezpečení Schannel.
SECPKG_ATTR_AUTHORITY
6
Parametr pBuffer obsahuje ukazatel na strukturu SecPkgContext_Authority .
Dotazuje název ověřovací autority.
SECPKG_ATTR_CIPHER_INFO
0x64
Parametr pBuffer obsahuje ukazatel na SecPkgContext_CipherInfo strukturu.
Vrátí novou strukturu šifer CNG.
SECPKG_ATTR_CONNECTION_INFO
0x5a
Parametr pBuffer obsahuje ukazatel na SecPkgContext_ConnectionInfo strukturu.
Vrátí podrobné informace o navázané připojení.
SECPKG_ATTR_KEYING_MATERIAL
0x6b
Parametr pBuffer obsahuje ukazatel na SecPkgContext_KeyingMaterial strukturu. Funkce exportu materiálu klíčů se řídí standardem RFC 5705.
Dotazování tohoto atributu před vygenerováním hlavního tajného kódu nebo před nastavením atributu SECPKG_ATTR_KEYING_MATERIAL_INFO výsledkem je chyba.
Tento atribut podporuje pouze balíček zabezpečení Schannel ve Windows 10 a Windows Serveru 2016 nebo novějších verzích.
SECPKG_ATTR_CREDS_2
0x80000086
Parametr pBuffer obsahuje ukazatel na strukturu SecPkgContext_ClientCreds , která určuje přihlašovací údaje klienta.
Pokud přihlašovací údaje klienta jsou uživatelské jméno a heslo, vyrovnávací paměť je zabalená struktura KERB_INTERACTIVE_LOGON .
Pokud přihlašovací údaje klienta jsou uživatelské jméno a PIN čipová karta, vyrovnávací paměť je zabalená KERB_CERTIFICATE_LOGON struktura.
Pokud přihlašovací údaje klienta jsou přihlašovacími údaji online identity, vyrovnávací paměť je zařazovaná SEC_WINNT_AUTH_IDENTITY_EX2 struktura.
Tento atribut je podporován pouze na serveru CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 a Windows XP: Tato hodnota není podporována.
SECPKG_ATTR_DCE_INFO
3
Parametr pBuffer obsahuje ukazatel na SecPkgContext_DceInfo strukturu.
Dotazy na autorizační data používaná službami DCE
SECPKG_ATTR_EAP_KEY_BLOCK
0x5b
Parametr pBuffer obsahuje ukazatel na SecPkgContext_EapKeyBlock strukturu.
Dotazy na klíčová data používaná protokolem TLS protokolu EAP
Tento atribut podporuje pouze balíček zabezpečení Schannel.
SECPKG_ATTR_ENDPOINT_BINDINGS
26
Parametr pBuffer obsahuje ukazatel na SecPkgContext_Bindings strukturu, která obsahuje vazby kanálu pro TLS (RFC 5929).
Windows Server 2008, Windows Vista, Windows Server 2003 a Windows XP: Tato hodnota není podporována.
SECPKG_ATTR_FLAGS
14
Parametr pBuffer obsahuje ukazatel na SecPkgContext_Flags strukturu.
Vrátí informace o příznakech vyjednaných kontextů.
SECPKG_ATTR_ISSUER_LIST_EX
0x59
Parametr pBuffer obsahuje ukazatel na strukturu SecPkgContext_IssuerListInfoEx .
Vrátí seznam vystavitelů certifikátů, které server přijme.
Tento atribut podporuje pouze balíček zabezpečení Schannel.
SECPKG_ATTR_KEY_INFO
5
Parametr pBuffer obsahuje ukazatel na SecPkgContext_KeyInfo strukturu.
Dotazuje se na informace o klíčích použitých v kontextu zabezpečení.
SECPKG_ATTR_LIFESPAN
2
Parametr pBuffer obsahuje ukazatel na SecPkgContext_Lifespan strukturu.
Dotazuje životnost kontextu.
SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
Parametr pBuffer obsahuje ukazatel na PCCERT_CONTEXTstrukturu.
Vyhledá kontext certifikátu, který obsahuje místní koncový certifikát.
Tento atribut podporuje pouze balíček zabezpečení Schannel.
SECPKG_ATTR_LOCAL_CRED
Parametr pBuffer obsahuje ukazatel na SecPkgContext_LocalCredentialInfo strukturu. (zastaralé)
Nahrazeno SECPKG_ATTR_LOCAL_CERT_CONTEXT.
SECPKG_ATTR_NAMES
1
Parametr pBuffer obsahuje ukazatel na SecPkgContext_Names strukturu.
Dotazuje název přidružený k kontextu.
SECPKG_ATTR_NATIVE_NAMES
13
Parametr pBuffer obsahuje ukazatel na SecPkgContext_NativeNames strukturu.
Vrátí hlavní název (CNAME) z odchozího lístku.
SECPKG_ATTR_NEGOTIATION_INFO
12
Parametr pBuffer obsahuje ukazatel na SecPkgContext_NegotiationInfo strukturu.
Vrátí informace o balíčku zabezpečení , který se má použít s procesem vyjednávání a aktuálním stavem vyjednávání pro použití tohoto balíčku.
SECPKG_ATTR_PACKAGE_INFO
10
Parametr pBuffer obsahuje ukazatel na strukturu SecPkgContext_PackageInfo .
Vrátí informace o používaném zprostředkovateli sdílených služeb.
SECPKG_ATTR_PASSWORD_EXPIRY
8
Parametr pBuffer obsahuje ukazatel na SecPkgContext_PasswordExpiry strukturu.
Vrátí informace o vypršení platnosti hesla.
SECPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
Parametr pBuffer obsahuje ukazatel na PCCERT_CONTEXTstrukturu.
Vyhledá kontext certifikátu, který obsahuje koncový certifikát zadaný serverem.
Tento atribut podporuje pouze balíček zabezpečení Schannel.
SECPKG_ATTR_ROOT_STORE
0x55
Parametr pBuffer obsahuje ukazatel na HCERTCONTEXT. Vyhledá kontext certifikátu, který obsahuje certifikát zadaný kořenovým úložištěm.
SECPKG_ATTR_SESSION_INFO
0x5d
Parametr pBuffer obsahuje ukazatel na SecPkgContext_SessionInfo strukturu.
Vrátí informace o relaci.
Windows Server 2008, Windows Vista, Windows Server 2003 a Windows XP: Tato hodnota není podporována.
SECPKG_ATTR_SESSION_KEY
9
Parametr pBuffer obsahuje ukazatel na strukturu SecPkgContext_SessionKey .
Vrátí informace o klíči relaces.
SECPKG_ATTR_SIZES
0
Parametr pBuffer obsahuje ukazatel na SecPkgContext_Sizes strukturu.
Dotazuje se na velikosti struktur použitých ve funkcích pro jednotlivé zprávy.
SECPKG_ATTR_STREAM_SIZES
4
Parametr pBuffer obsahuje ukazatel na SecPkgContext_StreamSizes strukturu.
Dotazuje velikosti různých částí datového proudu používaného ve funkcích pro jednotlivé zprávy.
SECPKG_ATTR_SUPPORTED_SIGNATURES
0x66
Parametr pBuffer obsahuje ukazatel na SecPkgContext_SupportedSignatures strukturu.
Tato hodnota vrátí informace o typech podpisů podporovaných pro připojení.
Windows Server 2008, Windows Vista, Windows Server 2003 a Windows XP: Tato hodnota není podporována.
SECPKG_ATTR_TARGET_INFORMATION
17
Parametr pBuffer obsahuje ukazatel na SecPkgContext_TargetInformation strukturu.
Vrátí informace o názvu vzdáleného serveru.
SECPKG_ATTR_UNIQUE_BINDINGS
25
Parametr pBuffer obsahuje ukazatel na SecPkgContext_Bindings strukturu, která obsahuje informace o vazbě kanálu.
Windows Server 2008, Windows Vista, Windows Server 2003 a Windows XP: Tato hodnota není podporována.
SECPKG_ATTR_APPLICATION_PROTOCOL
35
Parametr pBuffer obsahuje vyjednaný aplikační protokol.
SECPKG_ATTR_DTLS_MTU
34
Nastaví a načte hodnotu MTU (maximální přenosová jednotka) pro použití s DTLS. Pokud služba DTLS není v kontextu zabezpečení povolená, tento atribut se nepodporuje.
Platné hodnoty jsou mezi 200 bajty a 64 kilobajtů. Výchozí hodnota MTU DTLS v Schannel je 1096 bajtů.

 

pBuffer [out]

Ukazatel na strukturu, která přijímá atributy. Typ struktury, na kterou odkazuje, závisí na hodnotě zadané v parametru ulAttribute .

Návratová hodnota

Pokud je funkce úspěšná, návratová hodnota se SEC_E_OK.

Pokud funkce selže, návratová hodnota je nenulový kód chyby.

Poznámky

Struktura odkazovaná parametrem pBuffer se liší v závislosti na dotazovaném atributu. Volající musí přidělit samotnou strukturu pBuffer , ale zprostředkovatel sdílených služeb přidělí veškerou paměť potřebnou k uložení členů pBuffer s proměnlivou velikostí struktury. Jakmile dokončíte používání paměti přidělené zprostředkovatelem sdílených služeb, uvolněte ji voláním funkce FreeContextBuffer .

Po načtení hodnoty SECPKG_ATTR_REMOTE_CERT_CONTEXT nebo SECPKG_ATTR_LOCAL_CERT_CONTEXT je člen hCertStore nastaven na popisovač úložiště certifikátů, který obsahuje zprostředkující certifikáty, pokud existuje. Aplikace také zodpovídá za volání CertFreeCertificateContext k uvolnění paměti používané kontextem certifikátu.

Požadavky

Požadavek Hodnota
Minimální podporovaný klient
Windows 8.1 [jenom desktopové aplikace]
Minimální podporovaný server
Windows Server 2012 R2 [jenom desktopové aplikace]
Záhlaví
Sspi.h (včetně Security.h)
Knihovna
Secur32.lib
DLL
Secur32.dll
Názvy Unicode a ANSI
QueryContextAttributesW (Unicode) a QueryContextAttributesA (ANSI)

Viz také

funkcí SSPI

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes