Funzione QueryContextAttributes (Schannel)
La funzione QueryContextAttributes (Schannel) consente a un'applicazione di trasporto di eseguire query sul pacchetto di sicurezza Schannel per determinati attributi di un contesto di sicurezza.
Sintassi
SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
_In_ PCtxtHandle phContext,
_In_ ULONG ulAttribute,
_Out_ PVOID pBuffer
);
Parametri
-
phContext [in]
-
Handle per il contesto di sicurezza su cui eseguire query.
-
ulAttribute [in]
-
Specifica l'attributo del contesto da restituire. Questo parametro può avere uno dei valori seguenti.
Valore Significato - SECPKG_ATTR_ACCESS_TOKEN
- 13
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_AccessToken .
Restituisce un handle al token di accesso.- SECPKG_ATTR_APP_DATA
- 0x5e
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_SessionAppData .
Restituisce o specifica i dati dell'applicazione per la sessione.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.- SECPKG_ATTR_AUTHORITY
- 6
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Authority .
Esegue una query sul nome dell'autorità di autenticazione.- SECPKG_ATTR_CIPHER_INFO
- 0x64
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_CipherInfo .
Restituisce una nuova struttura di informazioni di crittografia CNG.- SECPKG_ATTR_CONNECTION_INFO
- 0x5a
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_ConnectionInfo .
Restituisce informazioni dettagliate sulla connessione stabilita.- SECPKG_ATTR_KEYING_MATERIAL
- 0x6b
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_KeyingMaterial . La funzionalità di esportazione dei materiali di keying segue lo standard RFC 5705.
L'esecuzione di query su questo attributo prima che il master secret sia stato generato o prima che l'attributo SECPKG_ATTR_KEYING_MATERIAL_INFO sia stato impostato con il risultato di un errore.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel in Windows 10 e Windows Server 2016 o versioni successive.- SECPKG_ATTR_CREDS_2
- 0x80000086
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_ClientCreds che specifica le credenziali client.
Se le credenziali client sono nome utente e password, il buffer è una struttura di KERB_INTERACTIVE_LOGON compressa.
Se la credenziale client è il nome utente e il PIN della smart card, il buffer è una struttura di KERB_CERTIFICATE_LOGON compressa.
Se le credenziali client sono credenziali di identità online, il buffer è una struttura di SEC_WINNT_AUTH_IDENTITY_EX2 di marshalling.
Questo attributo è supportato solo nel server CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.- SECPKG_ATTR_DCE_INFO
- 3
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_DceInfo .
Query per i dati di autorizzazione usati dai servizi DCE.- SECPKG_ATTR_EAP_KEY_BLOCK
- 0x5b
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_EapKeyBlock .
Query per i dati chiave usati dal protocollo TLS EAP.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.- SECPKG_ATTR_ENDPOINT_BINDINGS
- 26
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Bindings che contiene le associazioni di canale per TLS (RFC 5929).
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.- SECPKG_ATTR_FLAGS
- 14
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Flags .
Restituisce informazioni sui flag di contesto negoziati.- SECPKG_ATTR_ISSUER_LIST_EX
- 0x59
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_IssuerListInfoEx .
Restituisce un elenco di autorità emittenti di certificati accettate dal server.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.- SECPKG_ATTR_KEY_INFO
- 5
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_KeyInfo .
Esegue una query sulle chiavi usate in un contesto di sicurezza.- SECPKG_ATTR_LIFESPAN
- 2
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Lifespan .
Esegue una query sull'intervallo di vita del contesto.- SECPKG_ATTR_LOCAL_CERT_CONTEXT
- 0x54
Il parametro pBuffer contiene un puntatore a una struttura PCCERT_CONTEXT.
Trova un contesto di certificato che contiene un certificato finale locale.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.- SECPKG_ATTR_LOCAL_CRED
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_LocalCredentialInfo . (obsoleto)
Sostituito da SECPKG_ATTR_LOCAL_CERT_CONTEXT.- SECPKG_ATTR_NAMES
- 1
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Names .
Esegue una query sul nome associato al contesto.- SECPKG_ATTR_NATIVE_NAMES
- 13
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_NativeNames .
Restituisce il nome dell'entità (CNAME) dal ticket in uscita.- SECPKG_ATTR_NEGOTIATION_INFO
- 12
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_NegotiationInfo .
Restituisce informazioni sul pacchetto di sicurezza da utilizzare con il processo di negoziazione e lo stato corrente della negoziazione per l'uso di tale pacchetto.- SECPKG_ATTR_PACKAGE_INFO
- 10
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_PackageInfo .
Restituisce informazioni sul provider di servizi di configurazione in uso.- SECPKG_ATTR_PASSWORD_EXPIRY
- 8
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_PasswordExpiry .
Restituisce le informazioni sulla scadenza della password.- SECPKG_ATTR_REMOTE_CERT_CONTEXT
- 0x53
Il parametro pBuffer contiene un puntatore a una struttura PCCERT_CONTEXT.
Trova un contesto di certificato contenente il certificato finale fornito dal server.
Questo attributo è supportato solo dal pacchetto di sicurezza Schannel.- SECPKG_ATTR_ROOT_STORE
- 0x55
Il parametro pBuffer contiene un puntatore a un oggetto HCERTCONTEXT. Trova un contesto di certificato che contiene un certificato fornito dall'archivio radice. - SECPKG_ATTR_SESSION_INFO
- 0x5d
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_SessionInfo .
Restituisce informazioni sulla sessione.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.- SECPKG_ATTR_SESSION_KEY
- 9
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_SessionKey .
Restituisce informazioni sulla chiave di sessiones.- SECPKG_ATTR_SIZES
- 0
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Sizes .
Esegue query sulle dimensioni delle strutture usate nelle funzioni per messaggio.- SECPKG_ATTR_STREAM_SIZES
- 4
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_StreamSizes .
Esegue query sulle dimensioni delle varie parti di un flusso utilizzato nelle funzioni per messaggio.- SECPKG_ATTR_SUPPORTED_SIGNATURES
- 0x66
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_SupportedSignatures .
Questo valore restituisce informazioni sui tipi di firma supportati per la connessione.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.- SECPKG_ATTR_TARGET_INFORMATION
- 17
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_TargetInformation .
Restituisce informazioni sul nome del server remoto.- SECPKG_ATTR_UNIQUE_BINDINGS
- 25
Il parametro pBuffer contiene un puntatore a una struttura SecPkgContext_Bindings che contiene informazioni sull'associazione del canale.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Questo valore non è supportato.- SECPKG_ATTR_APPLICATION_PROTOCOL
- 35
Il parametro pBuffer contiene un protocollo applicazione negoziato. - SECPKG_ATTR_DTLS_MTU
- 34
Imposta e recupera il valore MTU (unità di trasmissione massima) da usare con DTLS. Se DTLS non è abilitato in un contesto di sicurezza, questo attributo non è supportato.
I valori validi sono compresi tra 200 byte e 64 kilobyte. Il valore MTU DTLS predefinito in Schannel è 1096 byte. -
pBuffer [out]
-
Puntatore a una struttura che riceve gli attributi. Il tipo di struttura a cui punta dipende dal valore specificato nel parametro ulAttribute .
Valore restituito
Se la funzione ha esito positivo, il valore restituito è SEC_E_OK.
Se la funzione ha esito negativo, il valore restituito è un codice di errore diverso da zero.
Commenti
La struttura a cui fa riferimento il parametro pBuffer varia a seconda dell'attributo sottoposto a query. Il chiamante deve allocare la struttura pBuffer stessa, ma il provider di servizi di dominio alloca qualsiasi memoria necessaria per contenere membri di dimensioni variabili della struttura pBuffer . Al termine dell'uso della memoria allocata dal provider di servizi di distribuzione, liberarla chiamando la funzione FreeContextBuffer .
Dopo aver letto il valore SECPKG_ATTR_REMOTE_CERT_CONTEXT o SECPKG_ATTR_LOCAL_CERT_CONTEXT, il membro hCertStore è impostato su un handle su un archivio certificati contenente i certificati intermedi, se presente. Inoltre, l'applicazione ha la responsabilità di chiamare CertFreeCertificateContext per rilasciare la memoria usata dal contesto del certificato.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows 8.1 [solo app desktop] |
Server minimo supportato |
Windows Server 2012 R2 [solo app desktop] |
Intestazione |
|
Libreria |
|
DLL |
|
Nomi Unicode e ANSI |
QueryContextAttributesW (Unicode) e QueryContextAttributesA (ANSI) |
Vedi anche