Kami memiliki server JAVA dan klien berkomunikasi melalui jaringan menggunakan SSL. Server dan klien saling mengotentikasi satu sama lain menggunakan sertifikat. Jenis keystore yang digunakan oleh server dan klien adalah JKS. Server dan klien memuat file keystore dan truststore mereka. Nama file keystore dan truststore adalah: server.keystore, server.truststore, client.keystore, dan client.truststore. Saya menggunakan sertifikat yang ditandatangani sendiri untuk pengujian saja.
Pertanyaan:
Q1. Saya ingin tahu mengapa saya perlu menambahkan sertifikat server dan klien sendiri ke dalam truststore masing-masing, pada langkah 6.
Q2. Bisakah saya mengurangi jumlah langkah untuk mencapai hal yang sama? Jika ya, lalu bagaimana?
Langkah-langkah untuk membuat kunci RSA, sertifikat yang ditandatangani sendiri, keystore, dan truststore untuk server
Hasilkan kunci RSA pribadi
openssl genrsa -out diagserverCA.key 2048
Buat sertifikat x509
openssl req -x509 -new -nodes -key diagserverCA.key \ -sha256 -days 1024 -out diagserverCA.pem
Buat keystore PKCS12 dari kunci pribadi dan sertifikat publik.
openssl pkcs12 -export -name server-cert \ -in diagserverCA.pem -inkey diagserverCA.key \ -out serverkeystore.p12
Ubah PKCS12 keystore menjadi keystore JKS
keytool -importkeystore -destkeystore server.keystore \ -srckeystore serverkeystore.p12 -srcstoretype pkcs12 -alias server-cert
Impor sertifikat klien ke toko kepercayaan server.
keytool -import -alias client-cert \ -file diagclientCA.pem -keystore server.truststore
Impor sertifikat server ke toko kepercayaan server.
keytool -import -alias server-cert \ -file diagserverCA.pem -keystore server.truststore
Langkah-langkah untuk membuat kunci pribadi RSA, sertifikat yang ditandatangani sendiri, keystore, dan truststore untuk klien
Buat kunci pribadi
openssl genrsa -out diagclientCA.key 2048
Buat sertifikat x509
openssl req -x509 -new -nodes -key diagclientCA.key \ -sha256 -days 1024 -out diagclientCA.pem
Buat keystore PKCS12 dari kunci pribadi dan sertifikat publik.
openssl pkcs12 -export -name client-cert \ -in diagclientCA.pem -inkey diagclientCA.key \ -out clientkeystore.p12
Ubah keystore PKCS12 menjadi keystore JKS
keytool -importkeystore -destkeystore client.keystore \ -srckeystore clientkeystore.p12 -srcstoretype pkcs12 \ -alias client-cert
Impor sertifikat server ke toko kepercayaan klien.
keytool -import -alias server-cert -file diagserverCA.pem \ -keystore client.truststore
Impor sertifikat klien ke toko kepercayaan klien.
keytool -import -alias client-cert -file diagclientCA.pem \ -keystore client.truststore