Fungsi SaslAcceptSecurityContext (sspi.h)
Fungsi SaslAcceptSecurityContext membungkus panggilan standar ke fungsi Antarmuka Penyedia Dukungan KeamananAcceptSecurityContext (Umum) dan mencakup pembuatan cookie server SASL.
Sintaks
SECURITY_STATUS SEC_ENTRY SaslAcceptSecurityContext(
[in] PCredHandle phCredential,
[in, optional] PCtxtHandle phContext,
[in] PSecBufferDesc pInput,
[in] unsigned long fContextReq,
[in] unsigned long TargetDataRep,
[out] PCtxtHandle phNewContext,
[in, out] PSecBufferDesc pOutput,
[out] unsigned long *pfContextAttr,
[out, optional] PTimeStamp ptsExpiry
);
Parameter
[in] phCredential
Handel ke kredensial server. Server memanggil fungsi AcquireCredentialsHandle dengan bendera INBOUND diatur untuk mengambil handel ini.
[in, optional] phContext
Penunjuk ke struktur CtxtHandle . Pada panggilan pertama ke AcceptSecurityContext (Umum), pointer ini adalah NULL. Pada panggilan berikutnya, phContext adalah handel ke konteks yang terbentuk sebagian yang dikembalikan dalam parameter phNewContext oleh panggilan pertama.
[in] pInput
Penunjuk ke struktur SecBufferDesc yang dihasilkan oleh panggilan klien ke fungsi InitializeSecurityContext (Umum) yang berisi deskriptor buffer input.
SASL memerlukan satu buffer jenis SECBUFFER_TOKEN. Buffer kosong untuk panggilan pertama ke fungsi AcceptSecurityContext (Umum) dan berisi respons tantangan yang diterima dari klien untuk panggilan kedua.
[in] fContextReq
Bendera bit yang menentukan atribut yang diperlukan oleh server untuk menetapkan konteks. Bendera bit dapat digabungkan menggunakan operasi bitwise-OR. Tabel berikut ini memperlihatkan nilai yang mungkin.
[in] TargetDataRep
Menunjukkan representasi data, seperti pengurutan byte, pada target. Nilai ini dapat berupa SECURITY_NATIVE_DREP atau SECURITY_NETWORK_DREP.
[out] phNewContext
Penunjuk ke struktur CtxtHandle . Pada panggilan pertama ke AcceptSecurityContext (Umum), penunjuk ini menerima handel konteks baru. Pada panggilan berikutnya, phNewContext dapat sama dengan handel yang ditentukan dalam parameter phContext .
[in, out] pOutput
Penunjuk ke struktur SecBufferDesc yang berisi deskriptor buffer output. Buffer ini dikirim ke klien untuk dimasukkan ke dalam panggilan tambahan ke InitializeSecurityContext (Umum). Buffer output dapat dihasilkan meskipun fungsi mengembalikan SEC_E_OK. Setiap buffer yang dihasilkan harus dikirim kembali ke aplikasi klien.
[out] pfContextAttr
Penunjuk ke variabel yang menerima sekumpulan bendera bit yang menunjukkan atribut konteks yang ditetapkan. Untuk deskripsi berbagai atribut, lihat Persyaratan Konteks. Bendera yang digunakan untuk parameter ini diawali dengan ASC_RET, seperti ASC_RET_DELEGATE.
Jangan periksa atribut terkait keamanan hingga panggilan fungsi akhir berhasil dikembalikan. Bendera atribut yang tidak terkait dengan keamanan, seperti bendera ASC_RET_ALLOCATED_MEMORY, dapat diperiksa sebelum pengembalian akhir.
[out, optional] ptsExpiry
Penunjuk ke struktur TimeStamp yang menerima waktu kedaluwarsa konteks. Disarankan agar paket keamanan selalu mengembalikan nilai ini di waktu setempat.
Mengembalikan nilai
Jika panggilan berhasil diselesaikan, fungsi ini mengembalikan SEC_E_OK. Tabel berikut ini memperlihatkan beberapa kemungkinan nilai pengembalian kegagalan.
Menampilkan kode | Deskripsi |
---|---|
|
Pemrosesan Authz tidak diizinkan. |
|
Memori tidak cukup tersedia untuk menyelesaikan permintaan. |
|
Tidak ada buffer Token yang terletak di parameter pOutput , atau pesan gagal didekripsi. |
Keterangan
Panggilan akhir fungsi AcceptSecurityContext (Umum) yang mengembalikan SEC_E_OK diidentifikasi. Jika token pengembalian diproduksi, pemrosesan SASL ditangguhkan untuk satu perjalanan pulang pergi kembali ke klien untuk memungkinkan token akhir diproses. Setelah pertukaran selesai, SEC_E_CONTINUE_NEEDED dikembalikan ke aplikasi dengan cookie server SASL tambahan yang dienkripsi dengan fungsi pesan SSPI. Cookie server awal menunjukkan apakah INTEGRITY dan PRIVACY didukung. Cookie server awal ini diproses oleh klien, dan klien mengembalikan cookie klien untuk menunjukkan layanan mana yang diminta klien. Cookie klien kemudian didekripsi oleh server dan layanan akhir ditentukan untuk lalu lintas pesan berikut.
Persyaratan
Klien minimum yang didukung | Tidak ada yang didukung |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | sspi.h (termasuk Security.h) |
Pustaka | Secur32.lib |
DLL | Secur32.dll |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk