Bagikan melalui


Melakukan Autentikasi Menggunakan Schannel

Semua protokol Schannel mengharuskan server untuk memberikan sertifikat dari otoritas sertifikasi tepercaya (CA) sebagai bukti identitasnya. Proses ini disebut autentikasi server. Autentikasi klien, di mana klien memberikan bukti identitasnya, bersifat opsional dan dapat diminta oleh server kapan saja.

Mengautentikasi Server

Perilaku default Schannel adalah menggunakan fungsi WinVerifyTrust untuk memverifikasi integritas dan kepemilikan sertifikat server. Untuk menonaktifkan fitur ini, tentukan ISC_REQ_MANUAL_CRED_VALIDATION saat memanggil fungsi InitializeSecurityContext (Schannel). Untuk informasi selengkapnya, lihat Memvalidasi Kredensial Schannel Secara Manual.

Mengautentikasi Klien

Schannel tidak memvalidasi sertifikat klien; server harus melakukan autentikasi ini secara manual. Biasanya, server akan memeriksa identitas klien dalam database yang berisi informasi akun pengguna. Untuk server yang perlu mendapatkan akun klien menggunakan sertifikat, lihat Sertifikat Pemetaan.

Ketika server meminta autentikasi klien, klien harus mengirim server salah satu sertifikatnya. Secara default, Schannel akan, tanpa pemberitahuan kepada klien, mencoba menemukan sertifikat klien dan mengirimkannya ke server. Untuk menonaktifkan fitur ini, klien menentukan ISC_REQ_USE_SUPPLIED_CREDS saat memanggil fungsi InitializeSecurityContext (Schannel). Ketika bendera ini ditentukan, Schannel akan mengembalikan SEC_I_INCOMPLETE_CREDENTIALS ke klien ketika server meminta autentikasi dan klien sebelumnya belum memberikan sertifikat.