Fungsi RpcServerRegisterAuthInfo (rpcdce.h)
Fungsi RpcServerRegisterAuthInfo mendaftarkan informasi autentikasi dengan pustaka run-time RPC.
Sintaks
RPC_STATUS RpcServerRegisterAuthInfo(
RPC_CSTR ServerPrincName,
unsigned long AuthnSvc,
RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
void *Arg
);
Parameter
ServerPrincName
Arahkan ke nama utama yang akan digunakan untuk server saat mengautentikasi panggilan prosedur jarak jauh menggunakan layanan yang ditentukan oleh parameter AuthnSvc . Konten nama dan sintaksnya ditentukan oleh layanan autentikasi yang digunakan. Untuk informasi selengkapnya, lihat Nama Utama.
AuthnSvc
Layanan autentikasi untuk digunakan ketika server menerima permintaan untuk panggilan prosedur jarak jauh.
GetKeyFn
Alamat rutin yang disediakan aplikasi server yang mengembalikan kunci enkripsi. Lihat RPC_AUTH_KEY_RETRIEVAL_FN.
Tentukan nilai parameter NULL untuk menggunakan metode default akuisisi kunci enkripsi. Dalam hal ini, layanan autentikasi menentukan perilaku default. Atur parameter ini ke NULL saat menggunakan layanan autentikasi RPC_C_AUTHN_WINNT.
Layanan autentikasi | GetKeyFn | Arg | Perilaku run-time |
---|---|---|---|
RPC_C_AUTHN_DPA | Diabaikan | Diabaikan | Tidak mendukung |
RPC_C_AUTHN_GSS_KERBEROS | Diabaikan | Diabaikan | Tidak mendukung |
RPC_C_AUTHN_GSS_NEGOTIATE | Diabaikan | Diabaikan | Tidak mendukung |
RPC_C_AUTHN_GSS_SCHANNEL | Diabaikan | Diabaikan | Tidak mendukung |
RPC_C_AUTHN_MQ | Diabaikan | Diabaikan | Tidak mendukung |
RPC_C_AUTHN_MSN | Diabaikan | Diabaikan | Tidak mendukung |
RPC_C_AUTHN_WINNT | Diabaikan | Diabaikan | Tidak mendukung |
RPC_C_AUTHN_DCE_PRIVATE | NULL | Non-null | Menggunakan metode default akuisisi kunci enkripsi dari tabel kunci tertentu; argumen yang ditentukan diteruskan ke fungsi akuisisi default. |
RPC_C_AUTHN_DCE_PRIVATE | Non-null | NULL | Menggunakan fungsi akuisisi kunci enkripsi tertentu untuk mendapatkan kunci dari tabel kunci default. |
RPC_C_AUTHN_DCE_PRIVATE | Non-null | Non-null | Menggunakan fungsi akuisisi kunci enkripsi tertentu untuk mendapatkan kunci dari tabel kunci tertentu; argumen yang ditentukan diteruskan ke fungsi akuisisi. |
RPC_C_AUTHN_DEC_PUBLIC | Diabaikan | Diabaikan | Disiapkan untuk penggunaan masa mendatang. |
Pustaka run-time RPC meneruskan nilai parameter ServerPrincName dari RpcServerRegisterAuthInfo sebagai nilai parameter ServerPrincName ke fungsi akuisisi GetKeyFn . Pustaka run-time RPC secara otomatis menyediakan nilai untuk parameter versi kunci (KeyVer). Untuk nilai parameter KeyVer nol, fungsi akuisisi harus mengembalikan kunci terbaru yang tersedia. Fungsi pengambilan mengembalikan kunci autentikasi dalam parameter Kunci .
Jika fungsi akuisisi yang dipanggil dari RpcServerRegisterAuthInfo mengembalikan status selain RPC_S_OK, maka fungsi ini gagal dan mengembalikan kode kesalahan ke aplikasi server. Jika fungsi akuisisi yang dipanggil oleh pustaka run-time RPC saat mengautentikasi permintaan panggilan prosedur jarak jauh klien mengembalikan status selain RPC_S_OK, permintaan gagal dan pustaka run-time RPC mengembalikan kode kesalahan ke aplikasi klien.
Arg
Arahkan ke parameter untuk diteruskan ke rutinitas GetKeyFn , jika ditentukan. Parameter ini juga dapat digunakan untuk meneruskan pointer ke struktur SCHANNEL_CRED untuk menentukan kredensial eksplisit jika layanan autentikasi diatur ke SCHANNEL.
Jika parameter Arg diatur ke NULL, fungsi ini akan menggunakan sertifikat atau kredensial default jika telah disiapkan di layanan direktori.
Mengembalikan nilai
Nilai | Makna |
---|---|
|
Panggilan berhasil. |
|
Layanan autentikasi tidak diketahui. |
Keterangan
Aplikasi server memanggil RpcServerRegisterAuthInfo untuk mendaftarkan layanan autentikasi yang akan digunakan untuk mengautentikasi panggilan prosedur jarak jauh. Server memanggil rutinitas ini sekali untuk setiap layanan autentikasi yang ingin didaftarkan server. Jika server memanggil fungsi ini lebih dari sekali untuk layanan autentikasi tertentu, hasilnya tidak terdefinisi.
Layanan autentikasi yang ditentukan aplikasi klien (menggunakan RpcBindingSetAuthInfo atau RpcServerRegisterAuthInfo) harus menjadi salah satu layanan autentikasi yang ditentukan oleh aplikasi server. Jika tidak, panggilan prosedur jarak jauh klien gagal dan kode status RPC_S_UNKNOWN_AUTHN_SERVICE dikembalikan.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | rpcdce.h (termasuk Rpc.h) |
Pustaka | Rpcrt4.lib |
DLL | Rpcrt4.dll |