Fungsi SaslInitializeSecurityContextA (sspi.h)
Fungsi SaslInitializeSecurityContext membungkus panggilan standar ke fungsi Antarmuka Penyedia Dukungan KeamananInitializeSecurityContext (Umum) dan memproses cookie server SASL dari server.
Sintaks
SECURITY_STATUS SEC_ENTRY SaslInitializeSecurityContextA(
[in] PCredHandle phCredential,
[in] PCtxtHandle phContext,
[in] LPSTR pszTargetName,
[in] unsigned long fContextReq,
[in] unsigned long Reserved1,
[in] unsigned long TargetDataRep,
[in] PSecBufferDesc pInput,
[in] unsigned long Reserved2,
[out] PCtxtHandle phNewContext,
[in, out] PSecBufferDesc pOutput,
[out] unsigned long *pfContextAttr,
[out, optional] PTimeStamp ptsExpiry
);
Parameter
[in] phCredential
Handel ke kredensial yang dikembalikan oleh
Fungsi AcquireCredentialsHandle digunakan untuk membangun konteks keamanan. Menggunakan fungsi SaslInitializeSecurityContext memerlukan setidaknya kredensial KELUAR.
[in] phContext
Penunjuk ke struktur CtxtHandle . Pada panggilan pertama ke fungsi SaslInitializeSecurityContext , pointer ini adalah NULL. Pada panggilan kedua, parameter ini adalah penunjuk ke handel ke konteks yang terbentuk sebagian yang dikembalikan dalam parameter phNewContext oleh panggilan pertama.
[in] pszTargetName
Penunjuk ke string Unicode atau ANSI yang menunjukkan target konteks.
[in] fContextReq
Bendera bit yang menunjukkan persyaratan konteks. Bendera yang digunakan untuk parameter ini diawali dengan ISC_REQ_; misalnya: ISC_REQ_DELEGATE. Tentukan kombinasi bendera atribut berikut.
Untuk deskripsi lebih lanjut tentang berbagai atribut, lihat Persyaratan Konteks.
[in] Reserved1
Nilai yang dipesan; harus nol.
[in] TargetDataRep
Menunjukkan representasi data, seperti pengurutan byte, pada target. Dapat berupa SECURITY_NATIVE_DREP atau SECURITY_NETWORK_DREP.
[in] pInput
Penunjuk ke struktur SecBufferDesc yang berisi pointer ke buffer yang disediakan sebagai input ke paket. Penunjuk harus NULL pada panggilan pertama ke fungsi. Pada panggilan berikutnya ke fungsi, ini adalah penunjuk ke buffer yang dialokasikan dengan memori yang cukup untuk menahan token yang dikembalikan oleh peer jarak jauh.
SASL memerlukan buffer tunggal jenis SECBUFFER_TOKEN yang berisi tantangan yang diterima dari server.
[in] Reserved2
Nilai yang dipesan; harus nol.
[out] phNewContext
Penunjuk ke struktur CtxtHandle . Pada panggilan pertama ke fungsi SaslInitializeSecurityContext , pointer ini menerima handel konteks baru. Pada panggilan kedua, phNewContext dapat sama dengan handel yang ditentukan dalam parameter phContext .
[in, out] pOutput
Penunjuk ke struktur SecBufferDesc yang berisi pointer ke struktur SecBuffer yang menerima data output. Jika buffer diketik sebagai SEC_READWRITE dalam input, buffer akan berada di sana pada output. Sistem akan mengalokasikan buffer untuk token keamanan jika diminta (melalui ISC_REQ_ALLOCATE_MEMORY) dan mengisi alamat di deskriptor buffer untuk token keamanan.
[out] pfContextAttr
Penunjuk ke variabel untuk menerima sekumpulan bendera bit yang menunjukkan atributkonteks yang ditetapkan. Untuk deskripsi berbagai atribut, lihat Persyaratan Konteks.
Bendera yang digunakan untuk parameter ini diawali dengan ISC_RET_, seperti ISC_RET_DELEGATE.
Untuk daftar nilai yang valid, lihat parameter fContextReq .
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. Parameter ini bersifat opsional dan NULL harus diteruskan untuk klien berumur pendek.
Nilai kembali
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. |
|
Tidak tersedia cukup memori untuk menyelesaikan permintaan. |
|
Tidak ada buffer Token yang terletak di parameter pOutput , atau pesan gagal didekripsi. |
Keterangan
Catatan
Header sspi.h mendefinisikan SaslInitializeSecurityContext sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
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