import { Callout, Steps } from 'nextra/components' import { Terminal, Code, Server, Download } from 'lucide-react' # Masalah CLI & Bahasa Pemrograman Bahkan jika Anda sudah menginstal Root CA di sistem operasi Anda, banyak alat pengembang dan bahasa pemrograman yang **mengabaikan penyimpanan sistem (system store)** dan menggunakan penyimpanan mereka sendiri. }> **Prasyarat:** Anda harus memiliki file **`trustlab-root.crt`** yang sudah diunduh di mesin Anda. [Unduh di sini](/id/guide/getting-started/install-root-ca). Jika kode atau skrip Anda gagal dengan kesalahan sertifikat, periksa solusi di bawah ini. ## 1. cURL & Wget Alat baris perintah standar sering kali mencari file bundle tertentu. ### cURL }> `curl: (60) SSL certificate problem: unable to get local issuer certificate` **Solusi:** Teruskan Root CA secara eksplisit: ```bash curl --cacert /jalur/ke/trustlab-root.crt https://domain-anda.local ``` ### Wget **Solusi:** ```bash wget --ca-certificate=/jalur/ke/trustlab-root.crt https://domain-anda.local ``` --- ## 2. Node.js / JavaScript Node.js tidak menggunakan Root CA Sistem secara default. }> `Error: self signed certificate in certificate chain` **Solusi (Variabel Lingkungan):** Atur variabel ini sebelum menjalankan aplikasi Anda. Ini berfungsi untuk sebagian besar aplikasi Node.js (npm, yarn, skrip kustom). ```bash export NODE_EXTRA_CA_CERTS="/jalur/ke/trustlab-root.crt" node server.js ``` --- ## 3. Python (Requests/Pip) Pustaka `requests` di Python (dan `pip`) menggunakan paket sertifikatnya sendiri (`certifi`), mengabaikan penyimpanan sistem Windows/macOS/Linux. }> `SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed'))` **Solusi:** Arahkan ke Root CA Anda menggunakan variabel lingkungan. ```bash export REQUESTS_CA_BUNDLE="/jalur/ke/trustlab-root.crt" python script.py ``` --- ## 4. Aplikasi Java Java menggunakan "Keystore" (JKS) milik sendiri dan biasanya **mengabaikan** Windows Certificate Store. }> `sun.security.validator.ValidatorException: PKIX path building failed` **Solusi:** Anda harus mengimpor Root CA TrustLab ke dalam Java Keystore (cacerts). ### Lokasi standar cacerts Biasanya di `$JAVA_HOME/lib/security/cacerts`. ### Impor dengan keytool ```bash keytool -import -trustcacerts -alias trustlab-root \ -file trustlab-root.crt \ -keystore "$JAVA_HOME/lib/security/cacerts" ``` *Kata sandi default biasanya adalah `changeit`.*