Panduan ini menunjukkan kepada Anda cara membuat CSR (Certificate Signing Request) di Debian menggunakan baris perintah OpenSSL. Anda menjalankan satu perintah melalui SSH yang membuat dua file sekaligus: kunci privat yang tetap berada di server Anda, dan CSR yang Anda kirimkan ke Certificate Authority (CA) Anda. Langkah-langkah ini berlaku untuk Debian 13 (trixie), Debian 12 (bookworm), dan rilis-rilis sebelumnya, karena OpenSSL sudah tersedia di sistem dasar.
CSR adalah blok teks kecil yang menyimpan detail domain Anda dan kunci publik. CA membacanya, memvalidasi permintaan Anda, dan menerbitkan sertifikat yang sesuai dengan kunci privat yang dibuat bersamanya. Kunci privat tidak pernah keluar dari server Anda, jadi jaga keamanannya: jika Anda kehilangannya, sertifikat yang telah diterbitkan menjadi tidak dapat digunakan dan Anda harus mengulang dari awal.
Langkah 1: Masuk ke server Debian Anda
Buka terminal dan hubungkan ke server melalui SSH. Ganti your-user dengan nama akun Anda dan your-server-ip dengan alamat IP server atau nama host:
ssh your-user@your-server-ip
OpenSSL sudah termasuk dalam sistem dasar Debian, sehingga tidak ada yang perlu dipasang lagi. Untuk memastikan bahwa OpenSSL tersedia, periksa versinya:
openssl version
Langkah 2: Buat kunci privat dan CSR
Jalankan perintah di bawah ini. Perintah ini membuat kunci privat dan CSR dalam satu langkah dan menyertakan Subject Alternative Names (SAN) yang diperlukan oleh browser dan CA modern. Jalankan dari direktori yang dapat Anda tulis, seperti direktori home Anda:
openssl req -new -newkey rsa:2048 -nodes
-keyout mywebsite.key
-out mywebsite.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=mywebsite.com"
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
Berikut adalah fungsi masing-masing bagian:
- req -new membuat permintaan penandatanganan sertifikat baru.
- -newkey rsa:2048 menghasilkan kunci privat RSA baru berukuran 2048-bit. 2048 bit adalah standar minimum saat ini untuk sertifikat publik; Anda dapat menggunakan rsa:4096 untuk kunci yang lebih besar.
- -nodes membuat kunci privat tidak terenkripsi (tanpa kata sandi), sehingga server web dapat memulai tanpa meminta kata sandi.
- -keyout mywebsite.key menulis kunci privat. Jaga kerahasiaan file ini dan jangan pernah mengirimkannya kepada siapa pun.
- -out mywebsite.csr menulis CSR yang Anda kirimkan ke CA.
- -subj mengisi kolom subjek secara langsung sehingga perintah dapat dijalankan tanpa perlu interaksi. Atur CN (Common Name) sesuai dengan nama domain lengkap (fully qualified domain name) Anda.
- -addext “subjectAltName=…” menambahkan entri SAN. CA menerbitkan sertifikat berdasarkan daftar SAN, jadi cantumkan setiap nama host yang harus dicakup oleh sertifikat.
Ganti mywebsite.com dengan domain Anda yang sebenarnya, dan sesuaikan nilai -subj dengan organisasi Anda. Kode negara dua huruf (C) harus ditulis dengan huruf kapital, misalnya US atau GB. Untuk sertifikat domain-validated (DV), kolom organisasi tidak diverifikasi, tetapi perintah tetap membutuhkan nilai yang valid.
Jika Anda lebih memilih mengisi kolom secara interaktif daripada menggunakan -subj, hapus baris tersebut dan OpenSSL akan meminta setiap nilai kepada Anda:
openssl req -new -newkey rsa:2048 -nodes
-keyout mywebsite.key
-out mywebsite.csr
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
Saat diminta, biarkan challenge password dan optional company name kosong dengan menekan Enter. CA mengabaikan kolom-kolom tersebut, dan challenge password dapat menimbulkan masalah di kemudian hari.
Menambahkan lebih banyak domain atau wildcard
Tambahkan lebih banyak nama host ke daftar SAN, dipisahkan dengan tanda koma. Misalnya, untuk menyertakan subdomain API:
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com,DNS:api.mywebsite.com"
Untuk sertifikat wildcard, gunakan *.mywebsite.com. Wildcard mencakup satu tingkat subdomain tetapi tidak mencakup domain telanjang (bare domain), jadi cantumkan keduanya jika Anda ingin apex domain juga tercakup:
-addext "subjectAltName=DNS:*.mywebsite.com,DNS:mywebsite.com"
Lebih memilih kunci ECDSA?
Kunci ECDSA lebih kecil dan lebih cepat dibandingkan RSA pada tingkat keamanan yang sama, dan didukung secara luas. Untuk membuat kunci dan CSR P-256 (prime256v1) sebagai gantinya, ganti argumen -newkey:
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes
-keyout mywebsite.key
-out mywebsite.csr
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=mywebsite.com"
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"
OpenSSL modern menandatangani CSR dengan SHA-256 secara default, sesuai yang diwajibkan oleh CA. Tidak perlu menambahkan flag digest terpisah.
Langkah 3: Verifikasi CSR
Sebelum Anda mengirimkan permintaan, pastikan bahwa CSR berisi domain dan SAN yang benar dan bahwa tanda tangannya valid. Perintah ini mencetak isi yang telah didekode dan memeriksa tanda tangan secara lokal:
openssl req -noout -text -verify -in mywebsite.csr
Perhatikan tulisan verify OK pada output, periksa bahwa baris Subject menunjukkan Common Name Anda, dan pastikan bagian X509v3 Subject Alternative Name mencantumkan setiap nama host yang Anda harapkan. Jika ada SAN yang hilang, buat ulang CSR dengan nilai -addext yang benar. Anda juga dapat menempelkan CSR ke CSR decoder online kami untuk memeriksa kolom-kolom ini di browser.
Langkah 4: Kirim CSR
Buka file CSR dan salin seluruh isinya, termasuk baris BEGIN dan END:
cat mywebsite.csr
Blok tersebut akan tampak seperti ini. Salin semuanya dari baris pertama hingga terakhir, termasuk lima tanda hubung di setiap sisi tanda BEGIN dan END:
-----BEGIN CERTIFICATE REQUEST-----
MIIC...base64-encoded data...AB
-----END CERTIFICATE REQUEST-----
Tempelkan blok tersebut ke formulir pemesanan SSL Anda. Setelah CA memvalidasi CSR dan menerbitkan sertifikat SSL, ikuti petunjuk instalasi SSL Debian untuk menerapkannya. Simpan file mywebsite.key di server: Anda membutuhkannya bersama sertifikat yang telah diterbitkan untuk mengaktifkan HTTPS, dan Anda tidak boleh sekali-kali mengirimkannya ke CA atau siapa pun.
Jika Anda tidak ingin menggunakan baris perintah, Anda dapat membuat permintaan tersebut dengan CSR Generator kami dan menempelkan hasilnya ke dalam pesanan Anda.
Membuat CSR di platform lain
Menggunakan distribusi Linux atau server yang berbeda? Lihat panduan CSR kami lainnya:
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
