Bagikan melalui


Fungsi QueryContextAttributes (Umum)

Memungkinkan aplikasi transportasi untuk mengkueri paket keamanan untuk atribut tertentu dari konteks keamanan.

Untuk informasi tentang menggunakan fungsi ini dengan penyedia dukungan keamanan (SSP) tertentu, lihat topik berikut.

Topik Deskripsi
QueryContextAttributes (CredSSP) Memungkinkan aplikasi transportasi untuk mengkueri Penyedia Dukungan Keamanan Kredensial (CredSSP) untuk atribut tertentu dari konteks keamanan.
QueryContextAttributes (Digest) Memungkinkan aplikasi transportasi untuk mengkueri paket keamanan Hash untuk atribut tertentu dari konteks keamanan.
QueryContextAttributes (Kerberos) Memungkinkan aplikasi transportasi untuk mengkueri paket keamanan Kerberos untuk atribut tertentu dari konteks keamanan.
QueryContextAttributes (Negosiasi) Memungkinkan aplikasi transportasi untuk mengkueri paket Negosiasi keamanan untuk atribut tertentu dari konteks keamanan.
QueryContextAttributes (NTLM) Memungkinkan aplikasi transportasi untuk mengkueri paket keamanan NTLM untuk atribut tertentu dari konteks keamanan.
QueryContextAttributes (Schannel) Memungkinkan aplikasi transportasi untuk mengkueri paket keamanan Schannel untuk atribut tertentu dari konteks keamanan.

Sintaks

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

Parameter

phContext [in]

Handel ke konteks keamanan yang akan dikueri.

ulAttribute [in]

Menentukan atribut konteks yang akan dikembalikan. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
SECPKG_ATTR_ACCESS_TOKEN
18
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_AccessToken .
Mengembalikan handel ke token akses.
SECPKG_ATTR_APP_DATA
0x5e
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_SessionAppData .
Mengembalikan atau menentukan data aplikasi untuk sesi tersebut.
Atribut ini hanya didukung oleh paket keamanan Schannel.
SECPKG_ATTR_AUTHORITY
6
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_Authority .
Mengkueri nama otoritas autentikasi.
SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
27
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_ClientSpecifiedTarget yang mewakili nama perwakilan layanan (SPN) dari target awal yang disediakan oleh klien.
Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
SECPKG_ATTR_CONNECTION_INFO
0x5a
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_Koneksi ionInfo.
Mengembalikan informasi terperinci tentang koneksi yang dibuat.
Atribut ini hanya didukung oleh paket keamanan Schannel.
SECPKG_ATTR_CREDS_2
0x80000086
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_ClientCreds yang menentukan kredensial klien.
Jika kredensial klien adalah nama pengguna dan kata sandi, buffer adalah struktur KERB_INTERACTIVE_LOGON yang dikemas.
Jika kredensial klien adalah nama pengguna dan PIN kartu pintar, buffer adalah struktur KERB_CERTIFICATE_LOGON yang dikemas.
Jika kredensial klien adalah kredensial identitas online, buffer adalah struktur SEC_WINNT_AUTH_IDENTITY_EX2 marshal.
Atribut ini hanya didukung di server CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
SECPKG_ATTR_DCE_INFO
3
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_DceInfo .
Kueri untuk data otorisasi yang digunakan oleh layanan DCE.
SECPKG_ATTR_ENDPOINT_BINDINGS
26
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_Bindings yang menentukan informasi pengikatan saluran.
Atribut ini hanya didukung oleh paket keamanan Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
SECPKG_ATTR_EAP_KEY_BLOCK
0x5b
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_EapKeyBlock .
Kueri untuk data kunci yang digunakan oleh protokol EAP TLS.
Atribut ini hanya didukung oleh paket keamanan Schannel.
SECPKG_ATTR_FLAGS
14
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_Flags .
Mengembalikan informasi tentang bendera konteks yang dinegosiasikan.
SECPKG_ATTR_ISSUER_LIST_EX
0x59
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_IssuerListInfoEx .
Mengembalikan daftar penerbit sertifikat yang diterima oleh server.
Atribut ini hanya didukung oleh paket keamanan Schannel.
SECPKG_ATTR_KEY_INFO
5
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_KeyInfo .
Mengkueri informasi tentang kunci yang digunakan dalam konteks keamanan.
SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
30
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_LastClientTokenStatus yang menentukan apakah token dari panggilan terbaru ke fungsi InitializeSecurityContext adalah token terakhir dari klien.
Nilai ini hanya didukung oleh paketkeamanan Negosiasi, Kerberos, dan NTLM.
Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
SECPKG_ATTR_LIFESPAN
2
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_Lifespan .
Mengkueri rentang hidup konteks.
SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
Parameter pBuffer berisi penunjuk ke struktur PCCERT_CONTEXT.
Menemukan konteks sertifikat yang berisi sertifikat akhir lokal.
Atribut ini hanya didukung oleh paket keamanan Schannel.
SECPKG_ATTR_LOCAL_CRED
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_LocalCredentialInfo . (Usang)
Digantikan oleh SECPKG_ATTR_LOCAL_CERT_CONTEXT.
SECPKG_ATTR_NAMES
1
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_Names .
Mengkueri nama yang terkait dengan konteks.
SECPKG_ATTR_NATIVE_NAMES
13
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_NativeNames .
Mengembalikan nama utama (CNAME) dari tiket keluar.
SECPKG_ATTR_NEGOTIATION_INFO
12
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_NegotiationInfo .
Mengembalikan informasi tentang paket keamanan yang akan digunakan dengan proses negosiasi dan status negosiasi saat ini untuk penggunaan paket tersebut.
SECPKG_ATTR_PACKAGE_INFO
10
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_PackageInfo .
Mengembalikan informasi tentang SSP yang digunakan.
SECPKG_ATTR_PASSWORD_EXPIRY
8
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_PasswordExpiry .
Mengembalikan informasi kedaluwarsa kata sandi.
SECPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
Parameter pBuffer berisi penunjuk ke struktur PCCERT_CONTEXT.
Menemukan konteks sertifikat yang berisi sertifikat akhir yang disediakan oleh server.
Atribut ini hanya didukung oleh paket keamanan Schannel.
SECPKG_ATTR_ROOT_STORE
0x55
Parameter pBuffer berisi penunjuk ke HCERTCONTEXT. Menemukan konteks sertifikat yang berisi sertifikat yang disediakan oleh penyimpanan Root.
SECPKG_ATTR_SESSION_KEY
9
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_SessionKey .
Mengembalikan informasi tentang kuncisesi.
SECPKG_ATTR_SESSION_INFO
0x5d
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_SessionInfo .
Mengembalikan informasi tentang sesi.
Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
Atribut ini hanya didukung oleh paket keamanan Schannel.
SECPKG_ATTR_SIZES
0
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_Sizes .
Mengkueri ukuran struktur yang digunakan dalam fungsi per pesan.
SECPKG_ATTR_STREAM_SIZES
4
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_StreamSizes .
Mengkueri ukuran berbagai bagian aliran yang digunakan dalam fungsi per pesan.
Atribut ini hanya didukung oleh paket keamanan Schannel.
SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_SubjectAttributes .
Nilai ini mengembalikan informasi tentang atribut keamanan untuk koneksi.
Nilai ini hanya didukung di server CredSSP.
Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
SECPKG_ATTR_SUPPORTED_SIGNATURES
0x66
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_SupportedSignatures .
Nilai ini mengembalikan informasi tentang jenis tanda tangan yang didukung untuk koneksi.
Nilai ini hanya didukung oleh delegasi yang dibatasi Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
SECPKG_ATTR_TARGET_INFORMATION
17
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_TargetInformation .
Mengembalikan informasi tentang nama server jarak jauh.
SECPKG_ATTR_UNIQUE_BINDINGS
25
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_Bindings yang menentukan informasi pengikatan saluran.
Nilai ini hanya didukung oleh delegasi yang dibatasi Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.

 

pBuffer [keluar]

Penunjuk ke struktur yang menerima atribut. Jenis struktur yang ditujukkan tergantung pada nilai yang ditentukan dalam parameter ulAttribute .

Nilai hasil

Jika fungsi berhasil, nilai yang dikembalikan adalah SEC_E_OK.

Jika fungsi gagal, nilai yang dikembalikan adalah kode kesalahan bukan nol.

Keterangan

Struktur yang ditujukkan oleh parameter pBuffer bervariasi tergantung pada atribut yang dikueri . Pemanggil harus mengalokasikan struktur pBuffer itu sendiri, tetapi SSP mengalokasikan memori apa pun yang diperlukan untuk menyimpan anggota berukuran variabel dari struktur pBuffer. Memori yang dialokasikan oleh SSP dapat dibebaskan dengan memanggil fungsi FreeContextBuffer.

Setelah nilai SECPKG_ATTR_REMOTE_CERT_CONTEXT atau SECPKG_ATTR_LOCAL_CERT_CONTEXT dibaca, anggota hCertStore akan diatur ke handel ke penyimpanan sertifikat yang berisi sertifikat perantara, jika ada. Selain itu, aplikasi bertanggung jawab untuk memanggil CertFreeCertificateContext untuk merilis memori yang digunakan oleh konteks sertifikat.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows XP [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2003 [hanya aplikasi desktop]
Header
Sspi.h (termasuk Security.h)
Pustaka
Secur32.lib
DLL
Secur32.dll
Nama Unicode dan ANSI
QueryContextAttributesW (Unicode) dan QueryContextAttributesA (ANSI)

Baca juga

Fungsi SSPI

Mendukung Extended Protection for Authentication (EPA) dalam layanan

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_Koneksi ionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes