Sertifikat sudah terpasang, kunci privat tersedia, dan tunnel tetap gagal melakukan autentikasi. Mesin yang menyimpan beberapa sertifikat dapat memberikan kandidat yang tidak dimaksudkan siapa pun kepada VPN, dan klien tidak punya cara untuk mengetahui mana yang akan diterima gateway. Menghapus yang lain adalah kebijakan pemilihan dengan konsekuensi bagi setiap layanan di mesin itu. Persempit kumpulan yang memenuhi syarat, lalu pastikan sertifikat mana yang benar-benar ditawarkan.

Beberapa Sertifikat, Satu Ditawarkan

Profil VPN asli Windows dengan autentikasi sertifikat mesin menampilkan dua filter yang membatasi kandidat: filter penerbit dan filter penggunaan kunci yang diperluas. Keduanya memperkecil kumpulan yang dapat dipilih klien. Keduanya tidak memperbaiki sertifikat yang tidak cocok, dan tidak menjamin server menerima apa pun yang tersisa. Batas itu layak dicatat dalam log perubahan, karena pembaca berikutnya akan menganggap filter memutuskan lebih banyak daripada yang sebenarnya.

Kegagalan yang ditanganinya sempit dan spesifik. Sertifikat valid dari otoritas yang salah, atau yang diterbitkan untuk tujuan yang tidak diterima gateway, dipilih sebelum yang dimaksud, sehingga terjadi kegagalan autentikasi di samping penyimpanan yang sehat. Dua filter mengubahnya menjadi kumpulan yang cukup kecil untuk dinalar, dan sisa halaman ini menerapkannya secara berurutan.

Periksa Penyimpanan Sebelum Menyunting Profil

Daftar kandidat dan propertinya di penyimpanan yang benar-benar digunakan profil. Tidak ada yang mengekspor kunci privat di sini, dan tidak ada sertifikat yang harus meninggalkan mesin:

Get-VpnConnection -Name 'Office' | Select-Object Name, TunnelType, AuthenticationMethod
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject, Issuer, Thumbprint, NotAfter, HasPrivateKey, EnhancedKeyUsageList

Baca keluaran untuk properti yang menjadi dasar keputusan: kunci privat yang dapat dipakai, jendela validitas yang dapat diterima, penerbit yang dimaksud, dan tujuan di ekstensi. Sebuah sertifikat dapat hadir, terdaftar dengan benar, dan tidak berguna untuk koneksi ini pada saat yang sama. Kolom sidik jari adalah yang akan Anda bandingkan nanti, jadi simpan keluarannya.

Pastikan profil dan cakupannya sebelum menyunting, karena sertifikat mesin di LocalMachine, sertifikat EAP-TLS pengguna, dan penyimpanan kunci privat milik aplikasi adalah tiga konteks berbeda. Gunakan cakupan semua pengguna dan konteks administratif ketika profil terkelola berada di sana. Membuat profil kedua dengan nama serupa menyembunyikan konfigurasi mana yang sebenarnya dipakai koneksi.

Filter Penerbit Menginginkan Objek

Parameter penerbit mengharapkan objek sertifikat, bukan nama tampilan dan bukan string sidik jari kosong. Berikan sertifikat otoritas yang disetujui dari jalur yang telah Anda tinjau, di penyimpanan tempat sertifikat itu berada:

$issuerPath = Read-Host 'Certificate-provider path for the approved issuer CA'
$issuer = Get-Item -LiteralPath $issuerPath
Set-VpnConnection -Name 'Office' -MachineCertificateIssuerFilter $issuer

Jangan ganti sertifikat daun milik klien sendiri, otoritas lain dengan subjek serupa, atau akar yang baru dibuat hanya karena tipe parameternya menerima. Dua otoritas dapat berbagi string subjek, dan itulah sebabnya objek lebih penting daripada teks. Referensi cmdlet Microsoft mendokumentasikan kedua jenis masukan, dan sebaiknya dibaca sebelum penyuntingan pertama, bukan setelah percobaan yang gagal.

Filter Penggunaan Menginginkan String OID

Parameter penggunaan kunci yang diperluas menerima string OID, dan tujuan autentikasi klien adalah 1.3.6.1.5.5.7.3.2. Menerapkannya membatasi kandidat pada sertifikat yang membawa tujuan itu, yang memang diinginkan penerapan autentikasi klien:

Set-VpnConnection -Name 'Office' -MachineCertificateEKUFilter '1.3.6.1.5.5.7.3.2'

Nilainya adalah larik, jadi penerapan yang membutuhkan beberapa tujuan mengirimkannya sebagai daftar. Yang tidak dapat dilakukan filter adalah menambahkan tujuan ke sertifikat: filter adalah ekspresi pemilihan yang dievaluasi terhadap ekstensi bertanda tangan, dan tidak ada filter yang menulis ulang ekstensi itu, jadi sertifikat yang tidak memiliki tujuan harus melalui pendaftaran lagi.

Pisahkan konfigurasi EAP sertifikat pengguna dari penyaringan sertifikat mesin, karena keduanya berada di tempat berbeda dan perubahan pada yang satu jarang menjelaskan kegagalan pada yang lain. Periksa juga apakah domain atau manajemen perangkat memiliki profil, karena suntingan lokal dapat diganti pada penyegaran kebijakan berikutnya tanpa siapa pun menyentuh mesin.

Buktikan Sertifikat Mana yang Ditawarkan Klien

Buat koneksi baru dan baca bukti autentikasi klien dan server untuk identitas yang Anda maksudkan. Ketika lebih dari satu sertifikat memenuhi filter, hasilnya adalah kumpulan yang lebih kecil, bukan daun yang dipatok, sehingga percobaan berikutnya dapat memilih anggota lain. Catat sidik jari yang muncul pada bukti itu dan bandingkan dengan yang Anda catat dari penyimpanan.

Perintah yang berhasil bukan autentikasi yang berhasil. Hasil yang layak dicatat adalah sertifikat yang dimaksud berautentikasi di bawah kebijakan terkelola sementara setiap sertifikat yang tidak terkait tetap tersedia bagi layanan yang bergantung padanya. Jika kegagalan bertahan setelah kedua filter, kandidat yang tersisa adalah tempat berikutnya untuk diperiksa, bukan seluruh profil.

Artikel terkait