← Semua materi

Security / Troubleshooting

Troubleshooting TLS certificate dengan OpenSSL: hostname, expiry, dan certificate chain

Periksa sertifikat yang benar-benar dipresentasikan server, masa berlaku, SAN, issuer, dan chain menggunakan OpenSSL.

Tujuan latihan

Mengumpulkan bukti TLS sebelum mengubah certificate, DNS, atau konfigurasi web server.

Persiapan

OpenSSL tersedia di terminal dan hostname HTTPS yang boleh Anda uji. Jangan menggunakan opsi yang menonaktifkan verifikasi sebagai solusi permanen.

TLS client
Server certificate
Trust chain

Masalah

Browser menampilkan certificate warning atau aplikasi gagal melakukan TLS handshake. Penyebabnya dapat berupa hostname mismatch, sertifikat kedaluwarsa, chain tidak lengkap, atau server mempresentasikan sertifikat yang berbeda dari yang Anda harapkan.

Persiapan

Catat hostname persis yang gagal. Pada server dengan banyak virtual host, SNI penting karena sertifikat yang diterima dapat bergantung pada hostname yang dikirim client.

1. Lihat handshake dan chain

-servername mengirim SNI. Redirect stdin dari /dev/null agar koneksi selesai tanpa menunggu input interaktif.

openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null

2. Ringkas sertifikat leaf

Pipe sertifikat ke openssl x509 untuk menampilkan subject, issuer, masa berlaku, dan Subject Alternative Name.

openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates -ext subjectAltName

3. Periksa hostname yang diminta

Pastikan hostname terdapat pada Subject Alternative Name. Jangan hanya mengandalkan Common Name pada sertifikat modern.

4. Baca verify result

Di bagian akhir s_client, perhatikan Verify return code. Nilai non-zero menunjukkan OpenSSL tidak dapat membangun atau memverifikasi chain dengan trust store yang digunakan pada mesin pengujian.

Verifikasi

Uji dari jaringan atau client pembanding bila masalah hanya terjadi pada satu perangkat. Cocokkan juga DNS hostname dengan server yang seharusnya melayani TLS agar Anda tidak memperbaiki sertifikat pada origin yang salah.

Pelajaran

TLS troubleshooting sebaiknya dimulai dari sertifikat yang benar-benar diterima client. Bukti handshake, SAN, expiry, issuer, dan verify result lebih berguna daripada asumsi berdasarkan file sertifikat yang tersimpan di server.

Referensi resmi

OpenSSL — s_client ↗OpenSSL — x509 ↗
Pilih materi berikutnya →