Pelajari 4 error SSL paling umum lengkap dengan penyebab dan panduan cara mengatasinya. Cepat atasi peringatan keamanan di browser kamu!
Halo, Kawan Belajar!
SSL (Secure Sockets Layer) adalah teknologi keamanan yang digunakan untuk mengenkripsi koneksi antara browser dengan server. Jika SSL tidak bekerja dengan benar, pengunjung website bisa menemukan pesan error yang cukup mengganggu, bahkan membuat website terlihat tidak aman.
Tenang, di artikel ini kita akan mempelajari 4 error SSL yang paling sering muncul, lengkap dengan penyebab dan cara mengatasinya. Dengan memahami ini, kamu bisa lebih cepat melakukan troubleshooting ketika website-mu menampilkan peringatan keamanan di browser.
Error SEC_ERROR_EXPIRED_CERTIFICATE (atau pada beberapa browser menampilkan NET::ERR_CERT_DATE_INVALID) adalah error yang muncul ketika browser mendeteksi bahwa sertifikat SSL pada website sudah melewati masa berlakunya, atau tidak dapat diverifikasi sebagai sertifikat yang masih valid. Biasanya kamu akan menemukan peringatan juga seperti:
Ada beberapa penyebab umum yang bisa memicu error ini:
Sertifikat SSL/TLS Telah Kedaluwarsa: Ini adalah penyebab yang paling umum. Sertifikat SSL memiliki masa berlaku (misalnya 90 hari atau 1 tahun). Jika pemilik website lupa untuk memperbarui atau mengganti sertifikat sebelum tanggal kedaluwarsa, error ini akan muncul.
Pengaturan Waktu Sistem pada Perangkat Pengunjung Website Salah: Jika tanggal dan waktu pada perangkat (komputer/HP) pengunjung tidak sinkron atau jauh berbeda dari waktu yang sebenarnya, browser bisa salah menganggap bahwa sertifikat tersebut belum berlaku atau sudah kedaluwarsa, sehingga memunculkan error.
Masalah Caching Browser: Terkadang, browser menyimpan (cache) versi lama dari sertifikat yang sudah kedaluwarsa. Meskipun sertifikat baru sudah dipasang di server, browser pengunjung masih merujuk pada versi yang tersimpan di cache.
Pemilik Website:
Periksa dan Perbarui Sertifikat:
Khusus Pelanggan SSL CloudKilat
Jika kamu ingin berlangganan SSL di CloudKilat, yuk Ikuti panduan pemesanan dan konfigurasinya di bawah ini:
Pengunjung Website:
Periksa Pengaturan Waktu Perangkat (Tindakan untuk Pengunjung/Pengguna): Pastikan tanggal, waktu, dan zona waktu di perangkat kamu sudah benar dan otomatis.
Hapus Cache Browser: Jika tanggal valid sertifikat masih berlaku, namun error SEC_ERROR_EXPIRED_CERTIFICATE masih muncul, coba hapus cache dan cookies di browser kamu atau akses website menggunakan mode Incognito/Private Browsing.
Error SSL_ERROR_BAD_CERT_DOMAIN (atau pada beberapa browser menampilkan NET::ERR_CERT_COMMON_NAME_INVALID) ini muncul ketika nama domain yang ada di sertifikat SSL tidak sama persis dengan nama domain yang diakses oleh pengguna. Browser akan melihat ini sebagai potensi ancaman keamanan karena sertifikat tidak dikeluarkan untuk alamat yang sedang dibuka.
Pemilik Website Sertifikat SSL pada Domain yang Tidak Dicakup: Sertifikat dikonfigurasi dengan Common Name (CN) hanya untuk domainkamu.com, namun pemilik website memasangnya pada website blog.domainkamu.com. Karena subdomain blog tidak terdaftar dalam sertifikat, browser menganggap sertifikat tersebut tidak valid untuk alamat yang sedang diakses.
Pengunjung Mengakses Menggunakan Alamat IP: Pengunjung mengakses website menggunakan alamat IP (misalnya: https://103.xxx.xxx.xxx) padahal sertifikat hanya dikeluarkan untuk nama domain.
Pemilik Website Salah dalam Pengisian Common Name (CN): Ketika membuat Certificate Signing Request (CSR), terjadi kesalahan penulisan domain.
Pemilik Website:
Periksa Cakupan Nama Domain pada Sertifikat SSL:
a. Cek Via Browser
b. Cek Via Online Tool: Kamu juga bisa memverifikasi detail sertifikat, termasuk Common Name dan SANs, dengan memanfaatkan online tool Certificate Decoder
Verifikasi Hasil: Setelah jendela detail sertifikat SSL terbuka, pastikan nama domain yang kamu akses tercantum di bagian Common Name (CN) atau Subject Alt Names (SANs).
Ambil Tindakan Korektif
blog, shop, api), pertimbangkan menggunakan Sertifikat Wildcard (yang melindungi *.domainkamu.com). Sertifikat jenis ini memungkinkan kamu mengamankan domain utama dan semua subdomain di tingkat yang sama (unlimited subdomain) hanya dengan satu sertifikat saja, sehingga manajemen sertifikat menjadi jauh lebih efisien. Jika kamu menggunakan subdomain yang berbeda level atau memiliki domain yang berbeda, kamu bisa menggunakan Sertifikat Multi-Domain/SAN.typo) pada Common Name sertifikat, segera hubungi penyedia layanan sertifikatmu. Pada beberapa CA, terdapat batas waktu pembatalan sertifikat dan permintaan penggantian Common Name.Temukan pilihan sertifikat SSL yang cocok untukmu disini: Layanan Sertifikat SSL CloudKilat
Pengunjung Website:
https://domainkamu.com, bukan alamat IP.Error ini terjadi ketika sertifikat SSL (file .crt atau .pem) tidak cocok dengan private key (.key) yang dipasang di server. Biasanya error ini muncul saat menjalankan perintah seperti nginx -t, apachectl configtest, atau saat test konfigurasi web server. Contoh pesan yang sering muncul:
Akibat dari error ini, konfigurasi web server tidak dapat di-reload karena pasangan kunci yang seharusnya saling melengkapi tidak sesuai.
Dikarenakan error ini hanya muncul di sisi server, maka penyebab dan pembenahannya hanya berkaitan dengan pemilik website, tidak dengan pengunjung website.
Sertifikat baru tapi konfigurasi dengan private key lama
Pemilik website melakukan generate ulang CSR untuk mendapatkan sertifikat SSL baru dengan data yang berbeda, sehingga menghasilkan private key baru. Namun, jika konfigurasi SSL masih menggunakan private key lama, error ini akan muncul.
Salah konfigurasi peletakan file
Path file .crt dan .key di konfigurasi web server salah atau tidak mengarah ke file yang benar.
File Private Key tertukar
Di server yang memiliki banyak domain atau subdomain, sering terjadi file .key salah ditautkan ke sertifikat domain lain.
Urutan sertifikat gabungan (pem)
Jika menggunakan file .pem ( gabungan dari sertifikat utama + sertifikat intermediate + sertifikat root) urutannya salah, server akan gagal mencocokkan private key dengan sertifikat yang seharusnya. Hal ini menyebabkan konfigurasi SSL tidak valid dan web server menolak untuk start.
Cek Kesesuaian Private Key dengan Sertifikat
Pemilik website harus memastikan bahwa private key yang digunakan benar-benar sesuai dengan sertifikat SSL. Ada dua cara yang umum:
a. Via OpenSSL
Jalankan perintah berikut melalui terminal VPS kamu. Pastikan lokasi file private key (.key) dan sertifikat (.crt atau .pem) sesuai dengan path yang kamu simpan di server.
openssl pkey -in /path/to/file/privateKey.key -pubout -outform pem | sha256sum
openssl x509 -in /path/to/file/certificate.crt -pubkey -noout -outform pem | sha256sum
atau
openssl x509 -in /path/to/file/fullchain.pem -pubkey -noout -outform pem | sha256sum
Jika hash dari private key dan sertifikat sama, berarti pasangan key dan sertifikat cocok. Namun jika hash berbeda, berarti private key yang digunakan tidak cocok dengan sertifikat SSL.
b. Via Online Tools
Selain OpenSSL, kamu juga bisa memanfaatkan tool online seperti: Certificate Key Matcher untuk memeriksa apakah private key cocok dengan sertifikat atau CSR.
Verifikasi Hasil
Pastikan hasil pengecekan menunjukkan private key dan sertifikat memang cocok. Jika tidak cocok, lanjut ke langkah korektif.
Ambil Tindakan Korektif
a. Pastikan File Tidak Salah Peletakan di Konfigurasi Web Server
Periksa path file di konfigurasi:
Nginx:
ssl_certificate /etc/ssl/certs/certificate.crt;
ssl_certificate_key /etc/ssl/private/privateKey.key;
Pastikan:
.crt atau .pem yang ditunjuk benar-benar sertifikat yang valid..key yang ditunjuk adalah private key yang sesuai dengan sertifikat tersebut.Apache:
SSLCertificateFile /etc/ssl/certs/certificate.crt
SSLCertificateKeyFile /etc/ssl/private/privateKey.key
SSLCertificateChainFile /etc/ssl/certs/ca-bundle.crt
Pastikan:
SSLCertificateChainFile menunjuk ke CA bundle yang benar (gabungan intermediate + root).ca-bundle.crt harus intermediate certificate → root certificate.Test konfigurasi:
Untuk tes konfigurasi pada Nginx:
sudo nginx -t
Untuk tes konfigurasi pada Apache:
apachectl configtest
b. Pastikan File Private Key Tidak Tertukar
Bila kamu masih menemukan error, selanjutnya pastikan setiap domain/subdomain menggunakan private key yang sesuai dengan sertifikatnya. Cek ulang file .key yang digunakan, terutama di server yang memiliki banyak domain. Kamu bisa cek kecocokan private key dengan sertifikat SSL seperti langkah diawal.
c. Pastikan Urutan Sertifikat Gabungan Sudah Benar
Bila kamu menggunakan sertifikat gabungan (.pem), pastikan urutan file-nya sebagai berikut:
1. Sertifikat Domain Utama
2. Sertifikat Intermediate
3. Sertifikat Root
Urutan yang salah akan membuat private key gagal dicocokkan dengan sertifikat SSL yang kamu miliki.
Reissue Sertifikat SSL
Jika semua langkah pengecekan dan korektif di atas sudah dilakukan tetapi error Private Key Does Not Match Certificate masih muncul, kemungkinan besar pasangan private key dan sertifikat memang tidak sinkron. Solusinya adalah mengeluarkan ulang (reissue) sertifikat SSL. Berikut langkah-langkahnya:
a. Generate CSR Baru
Untuk melakukan reissue sertifikat SSL, langkah pertama adalah membuat CSR (Certificate Signing Request) baru. Pastikan Common Name (CN) pada CSR sama dengan domain yang tercantum pada sertifikat yang akan diterbitkan ulang, termasuk subdomain atau SAN jika diperlukan. Saat membuat CSR, otomatis menghasilkan private key baru, jadi simpan file private key ini dengan aman karena dibutuhkan untuk konfigurasi SSL di web server. Berikut panduan untuk melakukan generate CSR:
- Cara Generate CSR Menggunakan CSR Generator
- Cara Generate CSR pada VPS dengan OpenSSL
b. Lanjutkan Reissue Sertifikat
- Upload CSR baru ke portal penyedia SSL untuk melakukan reissue sertifikat.
- Setelah sertifikat diterbitkan, gunakan private key baru dan sertifikat baru ini di konfigurasi web server.
Catatan: Jika kamu berlangganan SSL di CloudKilat (misal Sectigo atau GlobalSign), kamu bisa membuka tiket ke support CloudKilat untuk reissue SSL dengan menyertakan CSR terbaru. Tim support akan membantu proses reissue. Namun pastikan private key sudah disimpan dengan baik dan aman, karena tanpa private key yang sesuai, sertifikat SSL tidak dapat digunakan di web server.
Error Incomplete Certificate Chain adalah kegagalan validasi SSL/TLS yang umum terjadi ketika web server gagal menyajikan seluruh Rantai Kepercayaan (Chain of Trust) kepada browser atau klien.
Pada dasarnya, browser menerima Sertifikat Domain kamu tetapi tidak menerima Sertifikat Intermediate yang diperlukan untuk menautkannya ke Sertifikat Root yang terpercaya (CA Bundle). Meskipun sertifikat domain kamu valid, tanpa CA Bundle, browser terkadang tidak dapat memverifikasi penerbitnya, akibatnya memicu peringatan keamanan.
Penyebab utama error ini adalah konfigurasi server: CA Bundle hilang, urutannya salah, atau salah file dikonfigurasi di server kamu (Apache/Nginx).
Namun, pada browser terbaru (seperti Mozilla Firefox dan Google Chrome), error ini sering tidak muncul bagi pengguna akhir. Hal ini karena adanya fitur self-healing yang canggih:
Authority Information Access (AIA): Sertifikat yang disajikan oleh server kamu menyertakan URL (link) ke lokasi di mana Intermediate Certificate yang hilang dapat diunduh langsung dari Certificate Authority (CA) penerbit.
Perbaikan Otomatis: Jika Intermediate Certificate tidak disajikan oleh server, browser akan secara otomatis mengikuti URL AIA tersebut, mengunduh sertifikat yang diperlukan, dan melengkapi rantai kepercayaan secara diam-diam.
Hasilnya, pengguna melihat gembok terkunci (secure) dan koneksi berjalan lancar, padahal server kamu sebenarnya mengalami masalah konfigurasi yang harus diperbaiki.
Jika browser atau klien lain (misalnya, tool atau aplikasi non-browser) gagal memperbaiki rantai sertifikat secara otomatis, ia akan menampilkan pesan error, yang mengindikasikan bahwa browser tidak dapat memverifikasi identitas penerbit (Issuer) sertifikat domain kamu. Berikut pesan error yang seringkali muncul:
Dikarenakan penyebab error berkaitan dari sisi server, maka pembenahannya hanya berkaitan dengan pemilik website, berikut langkah yang dapat kamu lakukan:
Verifikasi Status Sertifikat kamu
Pertama, pastikan masalahnya memang terletak pada rantai (chain) dan bukan pada sertifikat domain itu sendiri.
a. Gunakan Tool Pengecek SSL: Gunakan online tools seperti SSL Checker.
b. Perhatikan Output: Alat ini akan secara eksplisit memberitahu kamu jika ada kegagalan rantai dengan status "Chain issues: Incomplete" (Rantai tidak lengkap). Hasil ini adalah konfirmasi bahwa Intermediate Certificate (CA Bundle) hilang atau salah dikonfigurasi di server kamu.
Dapatkan CA Bundle yang Benar
Hubungi penerbit sertifikat kamu atau kunjungi knowledge base mereka untuk mendapatkan CA Bundle yang sesuai dengan sertifikat domain kamu.
a. Identifikasi File yang Tepat: CA Bundle seringkali berupa satu file .crt atau .pem yang sudah digabungkan (berisi Intermediate dan Root).
b. Pahami Urutan yang Benar: CA Bundle harus diurutkan dari Sertifikat Intermediate baru Root CA.
Catatan: Bilamana kamu berlangganan sertifikat SSL di CloudKilat (GlobalSign, atau Sectigo), CA Bundle dapat kamu unduh pada knowledge base berikut:
- Panduan Konfigurasi dan Validasi Sertifikat SSL Sectigo di CloudKilat pada bagian Mengunduh Sertifikat SSL
- Cara Menerbitkan Sertifikat Globalsign Alpha SSL pada bagian Menerbitkan Sertifikat GlobalSign Alpha SSL
a. Untuk Web Server Apache
Pada server Apache, kamu perlu mengedit file konfigurasi SSL (virtual host situs kamu, biasanya dalam ssl.conf atau direktori sites-enabled).
SSLCertificateFile /path/to/your_domain.crt
SSLCertificateKeyFile /path/to/your_private.key
SSLCertificateChainFile /path/to/your_ca_bundle.crt
sudo systemctl restart apache2
# atau
sudo systemctl restart httpd
b. Untuk Web Server Nginx
Pada Nginx, konfigurasi Intermediate Certificate dilakukan dengan cara menggabungkan Sertifikat Domain kamu dengan CA Bundle menjadi satu file.
Gabungkan file Sertifikat Domain (domain.crt) dan file CA Bundle (ca_bundle.crt) menjadi satu file baru (domain_fullchain.pem):
cat domain.crt ca_bundle.crt > domain_fullchain.pem
Edit server block pada file konfigurasi Nginx kamu untuk menggunakan file fullchain ini:
ssl_certificate /path/to/domain_fullchain.pem;
ssl_certificate_key /path/to/your_private.key;
Simpan konfigurasi, dan Restart layanan Apache agar perubahan diterapkan:
sudo systemctl restart nginx
Setelah melakukan perbaikan, ulangi Langkah 1 menggunakan tool pengecek SSL online untuk memastikan status Chain kamu sudah berubah menjadi Complete (Lengkap).
Masalah SSL seringkali terasa rumit, tetapi seperti yang sudah kita pelajari, sebagian besar error, baik itu sertifikat kedaluwarsa, ketidakcocokan domain, atau rantai yang terputus, seringkali berakar pada konfigurasi di sisi server.
Kunci dari website yang aman adalah manajemen sertifikat yang proaktif. Selalu periksa tanggal kedaluwarsa sertifikat kamu, pastikan Private Key dan sertifikat selalu cocok, dan yang paling penting, jangan pernah lupa untuk menginstal CA Bundle yang lengkap dengan urutan yang benar.
Dengan adanya artikel ini diharapkan kamu dapat melakukan troubleshooting dengan cepat dan tepat sesuai dengan error sertifikat SSL yang kamu jumpai.
Jangan ragu untuk menghubungi tim support kami jika Anda memiliki pertanyaan atau masalah terkait layanan CloudKilat.