Bagikan melalui


Fungsi QueryContextAttributes (Schannel)

Fungsi QueryContextAttributes (Schannel) memungkinkan aplikasi transportasi untuk mengkueri paket keamanan Schannel untuk atributtertentu 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
13
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_CIPHER_INFO
0x64
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_CipherInfo .
Mengembalikan struktur info cipher CNG baru.
SECPKG_ATTR_CONNECTION_INFO
0x5a
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_ConnectionInfo .
Mengembalikan informasi terperinci tentang koneksi yang dibuat.
SECPKG_ATTR_KEYING_MATERIAL
0x6b
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_KeyingMaterial . Fitur ekspor bahan utama mengikuti standar RFC 5705.
Mengkueri atribut ini sebelum rahasia master dibuat atau sebelum atribut SECPKG_ATTR_KEYING_MATERIAL_INFO diatur dengan mengakibatkan kesalahan.
Atribut ini hanya didukung oleh paket keamanan Schannel di Windows 10 dan Windows Server 2016 atau versi yang lebih baru.
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 marshaled.
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_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_ENDPOINT_BINDINGS
26
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_Bindings yang berisi Pengikatan Saluran untuk TLS (RFC 5929).
Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
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_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 pointer ke HCERTCONTEXT. Menemukan konteks sertifikat yang berisi sertifikat yang disediakan oleh penyimpanan Akar.
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.
SECPKG_ATTR_SESSION_KEY
9
Parameter pBuffer berisi penunjuk ke struktur SecPkgContext_SessionKey .
Mengembalikan informasi tentang kunci sesi.
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.
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.
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 berisi informasi pengikatan saluran.
Windows Server 2008, Windows Vista, Windows Server 2003 dan Windows XP: Nilai ini tidak didukung.
SECPKG_ATTR_APPLICATION_PROTOCOL
35
Parameter pBuffer berisi protokol aplikasi yang dinegosiasikan.
SECPKG_ATTR_DTLS_MTU
34
Mengatur dan mengambil nilai MTU (unit transmisi maksimum) untuk digunakan dengan DTLS. Jika DTLS tidak diaktifkan dalam konteks keamanan, atribut ini tidak didukung.
Nilai yang valid adalah antara 200 byte dan 64 kilobyte. Nilai DTLS MTU default di Schannel adalah 1096 byte.

 

pBuffer [out]

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

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah SEC_E_OK.

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

Keterangan

Struktur yang diacu 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 . Setelah Anda selesai menggunakan memori yang dialokasikan oleh SSP, bebaskan dengan memanggil fungsi FreeContextBuffer .

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

Persyaratan

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

Lihat juga

Fungsi SSPI

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes