GIT adalah SCM(source control management) yang sangat populer dikalangan developer. GIT berfungsi untuk mengelola repistory (tempat menyimpan kode) dan melakukan versioning terhadap kode.
Bagi seorang developer yang bekerja pada korporasi, biasannya pernah menemukan error sebagai berikut ini :
SSL certificate problem: self signed certificate in certificate chain
error certificate ini dikarenakan koneksi yang digunakan pada git mengalami masalah akibat sistem verifikasi yang ada di sistem operasi tersebut. Umumnya hal ini disebabkan karena adannya sistem proteksi firewall di sistem operasi tersebut.
Jika sebelumnya tidak mengalami error certificate ini, namun tiba-tiba mengalami kendala ini, maka dapat dipastikan terdapat perubahan yang terjadi pada konfigurasi firewall tersebut. Perubahan ini bisa jadi berasal dari user ataupun dari sisi perusahaan (ada kebijakan baru/konfigurasi baru pada firewall yang digunakan.
Cara Memperbaiki Error karena Certificate Pada GIT
Cara 1 – Menyelesaikan error certificate chain pada git dengan cara menonaktifkan verifikasi SSL
carfa untuk memperbaiki error pada git akibat certificate error ini adalah dengan cara menonaktifkan proses validasi yang ada pada git.
ingat bahwa cara ini adalah cara sementara, karena menonaktifkan SSL bukanlah solusi yang tepat. Ini dapat membuka celah sekuriti baru. Cara ini ampuh sebagai workarroudn (solusi sementara) yang cepat.
Cara ini adalah suatu cara sementara yang dapat dilakukan apabila tidak memiliki waktu untuk menyelesaikan masalah pada firewall. Berikut ini adalah perintah yang digunakan untuk menonaktifkan verifikasi SSL certificate pada GIT.
git config --global http.sslVerify false
Cara 2 – menyelesaikan error certificate chain git dengan melakukan installasi .CER pada git config
Cara kedua ini adalah cara yang paling tepat untuk menyelesaikan error pada git karena masalah certificate chain. Langkah ini cukup panjang, sehingga, disarankan untuk melakukan cara pertama terlebih dahulu sebelum melakukan cara ke dua.
melakukan installasi .CER pada SCM yang digunakan ada solusi permanen. Disarankan untuk mengikuti cara ini.
Langkah 1 install certificate git – dapatkan file .CER dari SCM yang digunakan
jika service provider git yang digunakan bukanlah github , maka disarankan menghubungi administrator yang mengelola git tersebut. langkah dibawah adalah untuk github.
langkah pertama ini sangat tergantung pada git repository yang digunakan. Sebagai contoh untuk mendapatkan .CER pada github, maka dapat dilakukan dengan hanya menggunakan browser.
buka halaman github (gunakanlah protokol https)
https://github.com
kemudian pada url bar , akan nampak ikon berbentuk kunci.
Klik pada ikon berbentuk kunci tersebut. Kemudian klik pada dropdown menu certificates.
Window “certificate” akan muncul, lalu pilihlah tab details dan klik tombol copy to file.
kemudian ikuti petunjuk wizard yang ada.
JIka ada pilihan terkait jenis certificate pilihlah base 64 encoded berjenis x.509.
Maka kemudian, file CA dari github akan diunduh ke laptop / pc yang digunakan.
Langkah 2 install certificate git – ubah CA(Certificacte Authority) yang digunakan oleh git
Git memiliki daftar certificate yang dapat dikenalai (trusted). Pada langkah ini, file .CER yang telah di unduh pada langkah sebelumnya akan dipaksa masuk apda daftar CA yang digunakan oleh git pada sistem operasi tersebut.
Untuk mendapatkan CA-Bundle.crt (file yang menyimpan daftar cerfiticate yang dikenali oelh git) adalah dengan menggunakan perintah dibawah ini
config --list --show-origin
jalankan perintah diatas pada terminal atau powershell. Maka akan nampak lokasi file CA-bundle.crt tersebut
Langkah 3 install certificate git – tambahkan github cer pada CA git
pada langkah ini, hal utama yang harus dilakukana dalah menambahkan credential yang ada pada file .cer github yang telah berhasil diunduh pada langkah 1 pada CA git. Tujuannya adalah agar git dapat mengenali certificate X.509 (base-64) yang dimiliki oleh github.
buka file .cer pada github dan copy isi file(copy semua) tersebut kemudian tambahkan dibagian bawah pada file ca_bundle.crt dari git.
Langkah 4 Install certificate git – import ca_bundle.crt ke git config
langkah terahir adalah, lakukan import terhadap ca_bundle.crt yang telah di tambahkan certificate X.509 dari github tersebut.
git config --global http.sslCAInfo C:/ca-bundle.crt
done. Setelah proses selesai, jalankan operasi git seperti biasa, maka seharusnya error certificate chai “SSL certificate problem: self signed certificate in certificate chain” n pada git akan hilang dan terselesaikan.
happy coding!.