Delen via


De functie QueryContextAttributes (Schannel)

Met de functie QueryContextAttributes (Schannel) kan een transporttoepassing een query uitvoeren op het Schannel-beveiligingspakket voor bepaalde kenmerken van een beveiligingscontext.

Syntaxis

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

Parameterwaarden

phContext [in]

Een ingang voor de beveiligingscontext die moet worden opgevraagd.

ulAttribute [in]

Hiermee geeft u het kenmerk van de context die moet worden geretourneerd. Deze parameter kan een van de volgende waarden zijn.

Waarde Betekenis
SECPKG_ATTR_ACCESS_TOKEN
13
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_AccessToken structuur.
Retourneert een ingang naar het toegangstoken.
SECPKG_ATTR_APP_DATA
0x5e
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_SessionAppData structuur.
Retourneert of specificeert toepassingsgegevens voor de sessie.
Dit kenmerk wordt alleen ondersteund door het Schannel-beveiligingspakket.
SECPKG_ATTR_AUTHORITY
6
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_Authority structuur.
Hiermee wordt de naam van de verificatie-instantie opgevraagd.
SECPKG_ATTR_CIPHER_INFO
0x64
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_CipherInfo structuur.
Hiermee wordt een nieuwe CNG-coderingsstructuur geretourneerd.
SECPKG_ATTR_CONNECTION_INFO
0x5a
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_ConnectionInfo structuur.
Retourneert gedetailleerde informatie over de tot stand gebrachte verbinding.
SECPKG_ATTR_KEYING_MATERIAL
0x6b
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_KeyingMaterial structuur. De functie voor het exporteren van sleutelmateriaal volgt de RFC 5705-standaard.
Een query uitvoeren op dit kenmerk voordat het hoofdgeheim is gegenereerd of voordat het kenmerk SECPKG_ATTR_KEYING_MATERIAL_INFO is ingesteld met een fout.
Dit kenmerk wordt alleen ondersteund door het Schannel-beveiligingspakket in Windows 10 en Windows Server 2016 of hoger.
SECPKG_ATTR_CREDS_2
0x80000086
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_ClientCreds structuur waarmee clientreferenties worden opgegeven.
Als de clientreferenties gebruikersnaam en wachtwoord zijn, is de buffer een verpakte KERB_INTERACTIVE_LOGON structuur.
Als de clientreferenties gebruikersnaam en pincode voor smartcards zijn, is de buffer een verpakte KERB_CERTIFICATE_LOGON structuur.
Als de clientreferentie een online-identiteitsreferentie is, is de buffer een marshaled SEC_WINNT_AUTH_IDENTITY_EX2 structuur.
Dit kenmerk wordt alleen ondersteund op de CredSSP-server.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 en Windows XP: Deze waarde wordt niet ondersteund.
SECPKG_ATTR_DCE_INFO
3
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_DceInfo structuur.
Query's voor autorisatiegegevens die worden gebruikt door DCE-services.
SECPKG_ATTR_EAP_KEY_BLOCK
0x5b
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_EapKeyBlock structuur.
Query's voor sleutelgegevens die worden gebruikt door het EAP TLS-protocol.
Dit kenmerk wordt alleen ondersteund door het Schannel-beveiligingspakket.
SECPKG_ATTR_ENDPOINT_BINDINGS
26
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_Bindings structuur die de kanaalbindingen voor TLS (RFC 5929) bevat.
Windows Server 2008, Windows Vista, Windows Server 2003 en Windows XP: Deze waarde wordt niet ondersteund.
SECPKG_ATTR_FLAGS
14
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_Flags structuur.
Retourneert informatie over de onderhandelde contextvlagmen.
SECPKG_ATTR_ISSUER_LIST_EX
0x59
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_IssuerListInfoEx structuur.
Retourneert een lijst met certificaatverleners die door de server worden geaccepteerd.
Dit kenmerk wordt alleen ondersteund door het Schannel-beveiligingspakket.
SECPKG_ATTR_KEY_INFO
5
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_KeyInfo structuur.
Query's uitvoeren op informatie over de sleutels die worden gebruikt in een beveiligingscontext.
SECPKG_ATTR_LIFESPAN
2
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_Lifespan structuur.
Hiermee wordt de levensduur van de context opgevraagd.
SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
De parameter pBuffer bevat een aanwijzer naar een PCCERT_CONTEXTstructuur.
Hiermee vindt u een certificaatcontext die een lokaal eindcertificaat bevat.
Dit kenmerk wordt alleen ondersteund door het Schannel-beveiligingspakket.
SECPKG_ATTR_LOCAL_CRED
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_LocalCredentialInfo structuur. (verouderd)
Vervangen door SECPKG_ATTR_LOCAL_CERT_CONTEXT.
SECPKG_ATTR_NAMES
1
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_Names structuur.
Query's uitvoeren op de naam die is gekoppeld aan de context.
SECPKG_ATTR_NATIVE_NAMES
13
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_NativeNames structuur.
Retourneert de principal name (CNAME) van het uitgaande ticket.
SECPKG_ATTR_NEGOTIATION_INFO
12
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_NegotiationInfo structuur.
Retourneert informatie over het beveiligingspakket dat moet worden gebruikt met het onderhandelingsproces en de huidige status van de onderhandeling voor het gebruik van dat pakket.
SECPKG_ATTR_PACKAGE_INFO
10
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_PackageInfo structuur.
Retourneert informatie over de SSP die wordt gebruikt.
SECPKG_ATTR_PASSWORD_EXPIRY
8
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_PasswordExpiry structuur.
Retourneert verloopgegevens voor wachtwoorden.
SECPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
De parameter pBuffer bevat een aanwijzer naar een PCCERT_CONTEXTstructuur.
Hiermee wordt een certificaatcontext gevonden die het eindcertificaat bevat dat door de server wordt geleverd.
Dit kenmerk wordt alleen ondersteund door het Schannel-beveiligingspakket.
SECPKG_ATTR_ROOT_STORE
0x55
De parameter pBuffer bevat een aanwijzer naar een HCERTCONTEXT. Hiermee vindt u een certificaatcontext die een certificaat bevat dat is opgegeven door het basisarchief.
SECPKG_ATTR_SESSION_INFO
0x5d
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_SessionInfo structuur.
Retourneert informatie over de sessie.
Windows Server 2008, Windows Vista, Windows Server 2003 en Windows XP: Deze waarde wordt niet ondersteund.
SECPKG_ATTR_SESSION_KEY
9
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_SessionKey structuur.
Retourneert informatie over de sessiesleutels.
SECPKG_ATTR_SIZES
0
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_Sizes structuur.
Query's uitvoeren op de grootte van de structuren die worden gebruikt in de functies per bericht.
SECPKG_ATTR_STREAM_SIZES
4
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_StreamSizes structuur.
Hiermee wordt een query uitgevoerd op de grootte van de verschillende onderdelen van een stroom die wordt gebruikt in de functies per bericht.
SECPKG_ATTR_SUPPORTED_SIGNATURES
0x66
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_SupportedSignatures structuur.
Deze waarde retourneert informatie over de handtekeningtypen die worden ondersteund voor de verbinding.
Windows Server 2008, Windows Vista, Windows Server 2003 en Windows XP: Deze waarde wordt niet ondersteund.
SECPKG_ATTR_TARGET_INFORMATION
zeventien
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_TargetInformation structuur.
Retourneert informatie over de naam van de externe server.
SECPKG_ATTR_UNIQUE_BINDINGS
25
De parameter pBuffer bevat een aanwijzer naar een SecPkgContext_Bindings structuur die informatie over kanaalbinding bevat.
Windows Server 2008, Windows Vista, Windows Server 2003 en Windows XP: Deze waarde wordt niet ondersteund.
SECPKG_ATTR_APPLICATION_PROTOCOL
35
De parameter pBuffer bevat een onderhandeld toepassingsprotocol.
SECPKG_ATTR_DTLS_MTU
34
Hiermee stelt u de MTU-waarde (maximumtransmissieeenheid) in en haalt u deze op voor gebruik met DTLS. Als DTLS niet is ingeschakeld in een beveiligingscontext, wordt dit kenmerk niet ondersteund.
Geldige waarden liggen tussen 200 bytes en 64 kilobytes. De standaardwaarde DTLS MTU in Schannel is 1096 bytes.

 

pBuffer [out]

Een aanwijzer naar een structuur die de kenmerken ontvangt. Het type structuur dat erop wijst, is afhankelijk van de waarde die is opgegeven in de parameter ulAttribute .

Retourwaarde

Als de functie slaagt, wordt de retourwaarde SEC_E_OK.

Als de functie mislukt, is de retourwaarde een niet-nulfoutcode.

Opmerkingen

De structuur die wordt verwezen door de parameter pBuffer , varieert afhankelijk van het kenmerk waarop een query wordt uitgevoerd. De aanroeper moet de pBuffer-structuur zelf toewijzen, maar de SSP wijst elk geheugen toe dat vereist is voor het opslaan van leden van de pBuffer-structuur met variabele grootte. Wanneer u klaar bent met het gebruik van geheugen dat is toegewezen door de SSP, kunt u deze gratis maken door de functie FreeContextBuffer aan te roepen.

Nadat de waarde SECPKG_ATTR_REMOTE_CERT_CONTEXT of SECPKG_ATTR_LOCAL_CERT_CONTEXT is gelezen, wordt het hCertStore-lid ingesteld op een ingang naar een certificaatarchief dat de tussenliggende certificaten bevat, indien van toepassing. De toepassing is ook verantwoordelijk voor het aanroepen van CertFreeCertificateContext om het geheugen vrij te geven dat wordt gebruikt door de certificaatcontext.

Vereisten

Voorwaarde Waarde
Minimaal ondersteunde client
Windows 8.1 [alleen desktop-apps]
Minimaal ondersteunde server
Windows Server 2012 R2 [alleen desktop-apps]
Koptekst
Sspi.h (inclusief Security.h)
Bibliotheek
Secur32.lib
DLL
Secur32.dll
Unicode- en ANSI-namen
QueryContextAttributesW (Unicode) en QueryContextAttributesA (ANSI)

Zie ook

SSPI-functies

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes