Beberapa waktu lalu, saya menemukan sistem yang masih menggunakan sistem operasi lawas mulai dari Redhat 6, CentOS 6, Ubuntu 12.04 hingga SLES 11 serta sistem operasi yang sudah tidak didukung update dependensinya tidak bisa resolve ke SSL versi terbaru yaitu Sectigo (Dulunya Comodo) & Let’s Encrypt (Free SSL). Hal ini tentu memberikan dampak bagi pengguna OS terkait ketika koneksi ke suatu host/domain yang menggunakan kedua SSL tersebut, pasti akan ditolak karena library CA tidak ada pada OS tersebut.
Seperti yang kita ketahui, CA Library diupdate secara berkala mulai dari Intermediate Certificate hingga Root Certificate, nah jika keduanya digabungkan maka terciptalah CA Certificate. CA Certificate ini berguna untuk memvalidasi suatu SSL ini merupakan SSL dengan issuer trusted atau tidak. Biasanya jika tidak trusted/Self Signed akan muncul warning dan pastinya annoying.
Adapun Sectigo & Let’s Encrypt ini baru populer mulai dari 2017/2018 kalau tidak salah, nah OS sebelum tahun tersebut pasti belum menyimpan CA dan akan dianggap untrusted/padahal trusted jika menggunakan OS terbaru.
SOLUSI
Nah solusinya gampang sekali sih, cuma ada 2 pilihan:
- Update OS (Cara paling gampang) 😀
- Update Library CA
Yups, update OS pastinya cara paling gampang tapi effort-nya lebih besar karena kita mesti menyesuaikan konfigurasi yang sudah kita bangun dari awal dan belum tentu sama pas deploy pada sistem operasi baru. (pengalaman pribadi saya :-P)
Maka mau tidak mau pilihan kita adalah Update Library CA. Tenang saja, caranya tidak terlalu rumit juga. 🙂
Update CA
Sebelum update CA coba pastikan dulu dengan perintah wget seperti ini:
# wget -v -O - https://letsencrypt.nugi.biz/admin --2020-02-05 10:59:51-- https://letsencrypt.nugi.biz/admin Resolving letsencrypt.nugi.biz... 123.123.123.123 Connecting to letsencrypt.nugi.biz|123.123.123.123|:443... connected. ERROR: cannot verify letsencrypt.nugi.biz's certificate, issued by `/C=US/O=Let\'s Encrypt/CN=Let\'s Encrypt Authority X3': Unable to locally verify the issuer's authority. To connect to letsencrypt.nugi.biz insecurely, use `--no-check-certificate'.
Atau
# wget -v -O - https://sectigo.nugi.biz/admin --2020-02-05 10:59:51-- https://sectigo.nugi.biz/admin Resolving sectigo.nugi.biz... 123.123.123.123 Connecting to sectigo.nugi.biz|123.123.123.123|:443... connected. ERROR: cannot verify sectigo.nugi.biz's certificate, issued by `/C=GB/O=Sectigo Limited/CN=Sectigo RSA Domain Validation Secure Server CA': Unable to locally verify the issuer's authority. To connect to sectigo.nugi.biz insecurely, use `--no-check-certificate'.
Maka yang perlu dilakukan adalah seperti ini:
Install ca-certificates
CentOS
yum install ca-certificates
Ubuntu
apt-get install ca-certificates
SUSE
zypper install ca-certificates
Enable Dynamic CA
Jalankan perintah:
update-ca-trust force-enable
Download cacert.pem
Jalankan perintah:
cd /etc/pki/ca-trust/source/anchors/ wget -c https://curl.haxx.se/ca/cacert.pem
Extract CA
Jika sudah maka langkah selanjutnya adalah extract CA dengan menjalankan perintah seperti berikut:
update-ca-trust extract
Jika sudah, silakan jalankan perintah wget dan mestinya sudah tidak ada pesan error cannot verify lagi seperti yang diatas.
Yeay selesai, good luck guys & semoga bermanfaat..