Sertifikat bisa masih berada dalam masa berlakunya sementara VPN tetap melaporkan kegagalan autentikasi, dan seseorang menyimpulkan bahwa sertifikat itu dicabut. Itu tiga fakta berbeda. Data pencabutan harus diambil oleh perangkat yang melakukan validasi, dari titik publikasi yang disebutkan di dalam sertifikat itu sendiri. Ketika perangkat tersebut tidak dapat menjangkau titik itu, pemeriksaan gagal karena alasan yang tidak terkait dengan status sertifikat.

Validator pemilik jalur pengambilan

Mulailah dengan mengidentifikasi validator. Saat laptop memeriksa sertifikat gateway, laptop yang melakukan pengambilan; saat gateway memeriksa sertifikat klien, gateway yang melakukannya. Layanan autentikasi di backend dapat menambahkan validator ketiga dengan posisi jaringannya sendiri. Masing-masing punya rute berbeda ke internet dan konfigurasi proxy berbeda. Bukti yang dikumpulkan di stasiun kerja administrator tidak menjelaskan apa pun tentang server di dalam DMZ.

Catat sertifikat, validator, waktu percobaan, dan kode status yang tepat sebelum mengubah apa pun.

Baca titik publikasi dari sertifikat

Sertifikat menyebutkan tempat statusnya berada. Bacalah bidang itu daripada menebak alamat CA.

openssl x509 -in gateway.cer -noout -text | grep -A3 "CRL Distribution Points"
openssl x509 -in gateway.cer -noout -text | grep -A2 "Authority Information Access"

Ekstensi pertama mencantumkan titik distribusi CRL, dan yang kedua mencantumkan metode akses informasi otoritas, yang dapat mencakup status OCSP dan pengambilan sertifikat penerbit. Itu mekanisme berbeda, dan responder OCSP bukan berkas CRL. Host publikasi sering kali berupa server web biasa, bukan mesin CA, karena penerbit offline dapat menandatangani CRL yang didistribusikan server lain. Karena itu, aturan firewall yang dijelaskan sebagai akses ke CA terlalu kabur untuk diterapkan atau ditinjau.

Uji pengambilan dari perangkat yang memvalidasi

Jalankan uji pengambilan di lingkungan yang benar-benar melakukan validasi, dengan materi sertifikat yang disetujui dan tanpa kunci privat.

certutil -urlfetch -verify .\client-test.cer
curl -sS -o /dev/null -w "%{http_code}\n" http://crl.example.com/ca.crl

Menjalankan certutil memverifikasi rantai dan melaporkan pengambilan URL mana yang berhasil atau gagal, sedangkan panggilan curl menguji satu alamat publikasi dari host yang sama dan hanya mengembalikan kode status. Pengambilan yang gagal dari alamat yang dapat dijangkau menunjukkan masalah konten atau tanda tangan; kesalahan koneksi menunjukkan perutean, DNS, atau proxy. Simpan kedua hasil, karena satu pengambilan yang berhasil tidak membuktikan seluruh rantai dapat digunakan. Ganti host dan jalur contoh dengan titik distribusi yang ditemukan di sertifikat.

Pisahkan data yang hilang dari status dicabut

Empat hasil terlihat sama dari luar: titik tidak dapat dijangkau, daftar sudah usang, daftar ditandatangani penerbit yang salah, atau sertifikat memang dicabut. Hanya yang terakhir merupakan hasil status, dan hanya itu yang membenarkan pencabutan akses. Caching semakin menyulitkan gambaran, karena data yang diambil sebelumnya dapat menyembunyikan jalur publikasi yang rusak sampai penyegaran berikutnya. Menonaktifkan pemeriksaan pencabutan, menghapus sertifikat yang tidak terkait, atau memulai ulang gateway semuanya menggantikan diagnosis dengan aktivitas.

Setelah perbaikan, paksa autentikasi baru dan pastikan pengambilan status yang dimaksud berhasil. Di mana ada identitas uji yang terkendali, pastikan identitas itu tetap ditolak, karena ketersediaan yang menghapus pemeriksaan bukan perbaikan.

Artikel terkait