bg-tutorials

Cara Membuat CSR di Tomcat

Tutorial ini menunjukkan kepada Anda cara membuat CSR (Certificate Signing Request) untuk Apache Tomcat menggunakan utilitas Java keytool. Alurnya terdiri dari dua perintah: pertama keytool -genkeypair membuat keystore dan private key di bawah alias yang dipilih, kemudian keytool -certreq mengekspor CSR yang sesuai. Alias yang sama digunakan kembali nanti saat Anda mengimpor sertifikat yang sudah ditandatangani, sehingga key, CSR, dan sertifikat yang akhirnya dihasilkan semuanya berada di satu tempat.

Apa yang Anda perlukan

  • Instalasi Java (JDK atau JRE) agar perintah keytool tersedia. Konfirmasi dengan keytool -help.
  • Akses shell atau terminal di server yang akan menyimpan private key. Private key harus tetap berada di server ini.
  • Fully qualified domain name (FQDN) yang tepat yang ingin Anda amankan, misalnya www.domainanda.com, ditambah domain lain yang ingin Anda cakup (untuk kolom SAN).
  • Detail legal organisasi Anda (negara, negara bagian/provinsi, kota, nama organisasi) untuk Distinguished Name CSR.

Langkah 1: Membuat keystore dan private key

Jika Anda sudah membuat CSR, lanjut ke kirim CSR lalu ke memasang sertifikat SSL Anda di Tomcat.

Buka terminal di server dan buat keystore baru dalam format PKCS12. PKCS12 adalah standar modern dan portabel dan telah menjadi format keystore default di Java sejak JDK 9; format JKS yang lebih lama sudah tidak dianjurkan lagi. Jalankan:

keytool -genkeypair 
  -alias tomcat 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -validity 825

Arti dari flag-flag tersebut:

  • -alias tomcat: nama entri di dalam keystore. Pilih label yang mudah Anda kenali (biasanya tomcat atau nama domain Anda). Catat ini. Anda harus menggunakan alias yang sama persis ini saat membuat CSR dan lagi saat mengimpor sertifikat yang sudah ditandatangani.
  • -keyalg RSA -keysize 2048: key RSA 2048-bit adalah standar minimum publik saat ini. Untuk keystore baru, 3072 bit merupakan peningkatan yang wajar untuk key dengan masa pakai lebih lama. Kebanyakan CA publik juga menerima ECDSA (-keyalg EC -groupname secp256r1) jika Anda lebih memilih key yang lebih kecil dan lebih cepat.
  • -storetype PKCS12: memaksa penggunaan keystore PKCS12 modern. Ekstensi yang sesuai adalah .p12 (atau .pfx).
  • -keystore yourdomain.p12: file keystore yang akan dibuat. Ganti nama ini dengan nama yang mudah Anda ingat, dan simpan file ini dengan aman karena berisi private key Anda.
  • -validity 825: berapa lama sertifikat placeholder self-signed di dalam keystore berlaku. Sertifikat yang ditandatangani dari CA akan menggantikannya nanti, sehingga nilai pasti ini tidak memengaruhi masa berlaku produksi.

keytool kemudian akan meminta kata sandi keystore. Pilih kata sandi yang kuat dan simpan di secrets manager Anda: Anda akan membutuhkannya untuk setiap perintah keytool berikutnya dan untuk server.xml Tomcat. Dengan keystore PKCS12, kata sandi key sama dengan kata sandi keystore, sehingga hanya ada satu kata sandi yang perlu diingat.

Langkah 2: Memasukkan detail organisasi Anda (DN)

keytool sekarang akan meminta Distinguished Name (DN): kolom identitas yang masuk ke dalam CSR. Jawab setiap prompt dengan nilai yang tepat dan legal untuk organisasi Anda. Tanda baca dan keakuratan sangat penting: CA akan menolak jika terjadi ketidaksesuaian dengan catatan bisnis publik.

  • First and last name (CN): ini adalah istilah yang digunakan keytool, tetapi sebenarnya merupakan kolom Common Name. Masukkan FQDN yang tepat yang Anda amankan, misalnya www.domainanda.com, atau wildcard seperti *.domainanda.com. Jangan masukkan nama orang.
  • Organizational unit (OU): kolom ini sudah tidak lagi diterbitkan oleh CA publik dan sebaiknya dibiarkan kosong. Tekan Enter untuk melewatinya.
  • Organization (O): nama legal lengkap perusahaan Anda, misalnya Your Company LLC.
  • City or locality (L): nama kota lengkap, misalnya San Jose. Jangan disingkat.
  • State or province (ST): nama negara bagian atau provinsi lengkap, misalnya California. Jangan gunakan kode dua huruf.
  • Country code (C): kode negara ISO dua huruf, misalnya US, GB, DE.

Setelah prompt terakhir, keytool akan menampilkan ringkasan seperti CN=www.domainanda.com, OU=, O=Your Company LLC, L=San Jose, ST=California, C=US. Ketik yes untuk mengonfirmasi. File keystore sekarang sudah ada dengan satu entri: alias Anda, yang menyimpan private key dan sertifikat placeholder self-signed.

Jika Anda lebih memilih perintah non-interaktif, sertakan DN secara langsung dan lewati prompt-prompt tersebut:

keytool -genkeypair 
  -alias tomcat 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -dname "CN=www.yourdomain.com, O=Your Company LLC, L=San Jose, ST=California, C=US" 
  -validity 825

Langkah 3: Membuat CSR dengan SAN

Browser dan klien modern memvalidasi sertifikat berdasarkan ekstensi Subject Alternative Name (SAN), bukan hanya berdasarkan Common Name. Minta SAN secara langsung dalam CSR agar CA menyertakannya dalam sertifikat yang diterbitkan. Gunakan alias dan keystore yang sama seperti pada Langkah 1:

keytool -certreq 
  -alias tomcat 
  -keystore yourdomain.p12 
  -file yourdomain.csr 
  -ext san=dns:yourdomain.com,dns:www.yourdomain.com

Arti dari flag-flag tersebut:

  • -alias tomcat: harus sesuai dengan alias dari Langkah 1. Inilah alias yang private key-nya menandatangani permintaan tersebut.
  • -keystore yourdomain.p12: harus sesuai dengan keystore dari Langkah 1.
  • -file yourdomain.csr: nama file output untuk CSR.
  • -ext san=dns:…: ekstensi Subject Alternative Name. Cantumkan setiap hostname yang harus dicakup sertifikat, termasuk domain utama (yourdomain.com) maupun subdomain www. Tambahkan entri lain yang dipisahkan koma, misalnya dns:api.yourdomain.com.

keytool akan meminta kata sandi keystore dan menulis CSR ke yourdomain.csr di direktori saat ini.

Penting: simpan alias dan keystore Anda

Kesalahan keytool paling umum pada Tomcat adalah mengimpor sertifikat yang sudah ditandatangani ke bawah alias baru. Melakukan hal itu akan menyimpan sertifikat tersebut sebagai entri tepercaya yang berdiri sendiri tanpa private key yang terhubung, dan TLS tidak akan berfungsi. Selalu impor balasan yang sudah ditandatangani kembali ke alias yang sama yang menyimpan private key (alias dari Langkah 1).

Catat tiga nilai ini sekarang, sebelum Anda menutup terminal:

  • Alias (dalam panduan ini, tomcat).
  • Jalur file keystore (misalnya yourdomain.p12).
  • Kata sandi keystore.

Jika Anda tidak yakin alias mana yang menyimpan key Anda, tampilkan isi keystore dan cari entri yang tipenya PrivateKeyEntry:

keytool -list -v -keystore yourdomain.p12

Langkah 4: Memverifikasi CSR sebelum mengirimkannya

Temukan kesalahan pengetikan pada DN atau SAN yang hilang sebelum CA memvalidasinya. Tampilkan CSR dengan keytool:

keytool -printcertreq -file yourdomain.csr

Atau, jika OpenSSL sudah terinstal, Anda dapat menggunakannya sebagai gantinya:

openssl req -noout -text -in yourdomain.csr

Pastikan tiga hal ini dalam output tersebut: Subject menunjukkan DN Anda yang tepat, Subject Alternative Name mencantumkan setiap hostname yang Anda perlukan, dan ukuran Public-Key sesuai dengan yang Anda minta (RSA 2048-bit, atau apa pun yang Anda pilih). Anda juga dapat menyalin CSR ke dalam CSR Decoder kami untuk pengecekan yang sama di browser.

Langkah 5: Mengirimkan CSR ke Certificate Authority Anda

Buka yourdomain.csr di editor teks apa pun. File tersebut berupa teks biasa, dimulai dengan —–BEGIN CERTIFICATE REQUEST—– dan diakhiri dengan —–END CERTIFICATE REQUEST—–. Salin seluruh blok tersebut, termasuk baris header dan footer tersebut, dan tempelkan ke kolom CSR saat checkout dengan CA Anda. Di Windows, gunakan Ctrl + A lalu Ctrl + C untuk menyalin seluruh teksnya; di macOS, gunakan Cmd + A lalu Cmd + C.

Setelah CA memvalidasi permintaan Anda dan menerbitkan sertifikatnya, lanjutkan dengan cara memasang sertifikat SSL Anda di Tomcat. Anda akan mengimpor sertifikat yang sudah ditandatangani kembali ke alias yang sama di keystore yang sama, lalu mengarahkan konektor HTTPS Tomcat ke keystore tersebut.

Hemat 10% untuk Sertifikat SSL saat memesan hari ini!

Penerbitan cepat, enkripsi kuat, kepercayaan peramban 99,99%, dukungan khusus, dan jaminan uang kembali 25 hari. Kode kupon: SAVE10

Ditulis oleh

Penulis konten berpengalaman yang berspesialisasi dalam Sertifikat SSL. Mengubah topik keamanan siber yang rumit menjadi konten yang jelas dan menarik. Berkontribusi untuk meningkatkan keamanan digital melalui narasi yang berdampak.