Java Keytool
Pendahuluan
Keytool adalah perintah bawaan dari Java JDK atau JRE. Digunakan untuk tujuan mengelola public/private key dan certificate.
Kebanyakan penggunaannya untuk instalasi SSL Certificate.
Dengan kata lain kalau aplikasi Java kita mau mengakses website/API dengan awalan https, maka kita harus memasukkan SSL certificate beserta root dan intermediary certificate nya ke library nya JRE java dengan perintah keytool tersebut,
Sehingga waktu aplikasi java kita
jalankan, maka JRE akan mengecek kesesuaian dan melakukan negosiasi TLS antara website/API yang kita akses dengan SSL certificate yang kita install.
Dimana lokasi file keytools ?
Keytools dijalankan dengan mengeksekusi perintah keytool.exe atau keytool.sh
Lokasi perintah keytool itu ada 2 :
-
%JAVA_HOME%\bin
: misalnya di WindowsC:\Program Files\Java\jdk1.8.0_121\jre\bin
-
%JAVA_HOME%\jre\bin
: misalnya di WindowsC:\Program Files\Java\jdk1.8.0_121\bin
SSL Certificate keynya sendiri akan disimpan dalam sebuah file keystore.
Lokasi keystore tersebut adalah di :
-
%JAVA_HOME%\jre\lib\security
: misalnya di WindowsC:\Program Files\Java\jdk1.8.0_121\jre\lib\security
kita bisa memasukkan, mengubah dan membuang SSL Certificate dari keystore tersebut.
Berikut perintah-perintahnya :
Perintah untuk import CA (Certificate Authority)/Root/Intermediate certificate
keytool -import -trustcacerts -file ca_base64.cer -alias trustCA -keystore %JAVA_HOME%/jre/lib/security/cacerts
Perintah untuk melihat daftar CA / root/ intermediary CA yang sudah kita install
keytool -list -v -keystore %JAVA_HOME%/jre/lib/security/cacerts
Perintah untuk import sebuah certificate ke sebuah keystore
keytool -import -alias certificateBaru -file certificateBaru_base64_file.cer -keystore %JAVA_HOME%/jre/lib/security/cacerts
Perintah untuk melihat daftar certificate yang sudah kita install di keystore
keytool -list -v -keystore %JAVA_HOME%/jre/lib/security/cacerts -alias certificateBaru
Kalau menggunakan linux, ganti saja %JAVA_HOME% dengan $JAVA_HOME