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 |
|
Pustaka |
|
DLL |
|
Nama Unicode dan ANSI |
QueryContextAttributesW (Unicode) dan QueryContextAttributesA (ANSI) |
Lihat juga