bg-tutorials

Cara Membuat CSR di Ubuntu

Tutorial ini menunjukkan kepada Anda cara membuat CSR di Ubuntu, khususnya pada server Apache berbasis Ubuntu yang diakses melalui SSH. Ubuntu menggunakan OpenSSL untuk ini, sehingga Anda menjalankan dua hal dalam satu perintah: kunci privat baru dan CSR (Certificate Signing Request) yang sesuai. Anda dapat memberikan detail subjek sebagai flag, yang membuat seluruh proses menjadi satu baris yang bisa disalin-tempel.

Langkah-langkah di bawah ini berfungsi pada setiap rilis Ubuntu yang didukung (22.04, 24.04, dan 26.04 LTS), karena masing-masing sudah dilengkapi dengan OpenSSL 3.x. Langkah-langkah ini juga berfungsi pada rilis yang lebih lama seperti 20.04, yang dilengkapi dengan OpenSSL 1.1.1, meskipun 20.04 telah mencapai akhir dukungan standarnya. OpenSSL modern menandatangani permintaan dengan SHA-256 secara default, sehingga Anda tidak perlu menambahkan flag digest.

Langkah 1: Akses server Ubuntu Anda

Hubungkan ke server melalui SSH dari komputer lokal Anda (Terminal pada macOS atau Linux, PowerShell atau Windows Terminal pada Windows). Ganti nama pengguna dan host dengan milik Anda sendiri:

ssh your-user@your-ubuntu-server

Buat CSR pada server yang sama yang akan menjadi tempat sertifikat tersebut. Kunci privat dibuat di samping CSR dan harus tetap ada di server tersebut, sehingga menjalankan perintah ini secara lokal lalu menyalin kunci ke tempat lain akan menggagalkan tujuan tersebut.

Langkah 2: Buat kunci privat dan CSR

Jalankan perintah berikut. Perintah ini membuat kunci RSA 2048-bit dan CSR dalam satu langkah, dengan subjek dan Subject Alternative Names (SAN) yang disediakan secara inline sehingga OpenSSL tidak berhenti untuk mengajukan pertanyaan:

openssl req -new -newkey rsa:2048 -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Berikut fungsi setiap bagiannya:

  • -newkey rsa:2048 membuat kunci RSA 2048-bit baru. 2048-bit adalah minimum yang berlaku saat ini untuk sertifikat publik; Anda dapat menggunakan rsa:4096 untuk kunci yang lebih besar, atau beralih ke ECDSA (lihat di bawah).
  • -nodes membiarkan kunci privat tidak dienkripsi sehingga Apache dapat membacanya saat startup tanpa perlu memasukkan passphrase.
  • -keyout dan -out menamai berkas kunci privat dan CSR.
  • -subj menyediakan subjek sertifikat. Masukkan nama perusahaan, negara bagian, dan kota Anda yang sebenarnya di sini, bukan placeholder. CN (Common Name) adalah domain utama Anda.
  • -addext “subjectAltName=…” mendaftar setiap nama host yang harus dicakup oleh sertifikat. CA publik melakukan validasi berdasarkan daftar SAN, jadi sertakan juga Common Name di sini.

Ganti yourdomain.com dengan domain Anda yang sebenarnya di seluruh perintah. Untuk mencakup nama host tambahan, tambahkan ke daftar SAN yang dipisahkan dengan koma, misalnya DNS:api.yourdomain.com. Untuk wildcard, sertakan baik wildcard maupun domain polos: DNS:*.yourdomain.com,DNS:yourdomain.com.

Jika Anda lebih memilih kunci ECDSA (lebih kecil dan lebih cepat, dengan P-256 yang didukung secara luas), buat kunci dan CSR seperti ini:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Langkah 3: Temukan berkas Anda

Tampilkan daftar direktori saat ini untuk memastikan kedua berkas telah dibuat:

ls

Anda akan melihat dua berkas baru:

  • yourdomain.key: kunci privat Anda. Simpan di server, cadangkan dengan aman, dan jangan pernah mengirimkannya kepada siapa pun, termasuk Certificate Authority. Siapa pun yang memegang kunci ini dapat menyamar sebagai situs Anda.
  • yourdomain.csr: Certificate Signing Request Anda. Ini adalah berkas yang Anda kirimkan ke penyedia SSL.

Langkah 4: Verifikasi CSR (opsional tetapi disarankan)

Sebelum mengirimkannya, periksa apakah CSR memuat subjek dan SAN yang benar dan apakah tanda tangannya valid. Perintah ini mendekode permintaan secara lokal dengan OpenSSL:

openssl req -noout -text -verify -in yourdomain.csr

Pastikan baris Subject menunjukkan detail Anda, bahwa X509v3 Subject Alternative Name mendaftar setiap nama host yang Anda harapkan, dan bahwa pemeriksaan tanda tangan menampilkan verify OK. Algoritme tanda tangan seharusnya menunjukkan sha256WithRSAEncryption (atau ecdsa-with-SHA256 untuk kunci ECDSA). Jika Anda lebih memilih tidak menggunakan baris perintah, tempel CSR ke dalam CSR decoder online kami untuk membaca kolom yang sama di dalam browser.

Langkah 5: Kirim CSR Anda

Untuk menyalin CSR untuk pesanan Anda, cetak isinya:

cat yourdomain.csr

Anda akan melihat blok teks seperti ini:

-----BEGIN CERTIFICATE REQUEST-----
MIIBozCB... (a long string of characters)
-----END CERTIFICATE REQUEST-----

Salin seluruh blok, termasuk baris —–BEGIN CERTIFICATE REQUEST—– dan —–END CERTIFICATE REQUEST—– (setiap penanda memiliki lima tanda hubung pada kedua sisinya). Seluruh blok tersebut adalah CSR Anda. Tempelkan ke dalam formulir pesanan saat pembelian Anda, dan simpan kunci privat yang sesuai tetap di tempatnya di server.

Jika Anda lebih memilih tidak menggunakan baris perintah, Anda juga dapat membuat permintaan tersebut dengan CSR Generator online kami. Perhatikan bahwa alat ini menghasilkan kunci privat di browser Anda, jadi simpan kunci tersebut sendiri dan pindahkan ke server.

Setelah CA Anda memvalidasi CSR dan menerbitkan sertifikat, lanjutkan dengan petunjuk instalasi SSL Ubuntu.

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.