bg-tutorials

Cara Membuat CSR di Red Hat Linux

Panduan ini menunjukkan kepada Anda cara membuat CSR (Certificate Signing Request) di Red Hat Enterprise Linux menggunakan baris perintah OpenSSL. Prosesnya menghasilkan dua file:

  • Sebuah private key, yang tetap berada di server Anda dan tidak pernah dibagikan.
  • Sebuah CSR, yang Anda kirimkan ke Certificate Authority (CA) Anda saat memesan sertifikat.

Panduan ini membahas dua pendekatan: metode satu perintah untuk OpenSSL modern, dan metode file konfigurasi untuk versi OpenSSL lama yang tidak mendukung ekstensi inline. Kedua metode menghasilkan CSR yang sesuai SAN dan ditandatangani dengan SHA-256, yang merupakan syarat dari CA publik.

Sebelum Anda mulai: periksa versi OpenSSL Anda

OpenSSL sudah termasuk secara default di setiap rilis RHEL yang didukung. Pastikan OpenSSL tersedia dan periksa versinya, karena versi tersebut menentukan metode mana di bawah ini yang dapat Anda gunakan:

openssl version

Berikut yang disertakan pada setiap rilis Red Hat saat ini:

  • RHEL 10 (dirilis 2025, versi utama saat ini): OpenSSL 3.x
  • RHEL 9: OpenSSL 3.x
  • RHEL 8: OpenSSL 1.1.1
  • RHEL 7: OpenSSL 1.0.2 (RHEL 7 telah mencapai akhir dukungan pemeliharaan pada tahun 2024; pindahkan beban kerja ini ke rilis yang didukung sesegera mungkin)

OpenSSL 1.1.1 dan 3.x mendukung flag ekstensi inline yang digunakan pada metode satu perintah, sehingga pada RHEL 8, 9, dan 10 Anda dapat menggunakan Opsi A di bawah ini. Jika openssl version menunjukkan versi 1.0.2 atau lebih lama (RHEL 7), gunakan metode file konfigurasi pada Opsi B.

Jika OpenSSL entah bagaimana tidak ada, instal menggunakan pengelola paket untuk rilis Anda:

# RHEL 8, 9, and 10
sudo dnf install openssl
# RHEL 7
sudo yum install openssl

Pada RHEL 8 dan yang lebih baru, yum adalah alias kompatibilitas untuk dnf, sehingga kedua perintah tersebut berfungsi pada versi-versi tersebut.

Opsi A: satu perintah (OpenSSL 1.1.1 dan 3.x)

Ini adalah jalur tercepat pada RHEL 8, 9, dan 10. Metode ini menghasilkan private key terlebih dahulu, kemudian membuat CSR dengan Subject Alternative Names (SAN) ditambahkan secara inline.

Langkah 1: Membuat private key

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out example.com.key

Perintah ini membuat private key RSA 2048-bit bernama example.com.key di direktori saat ini. RSA 2048-bit adalah standar minimum yang diterima oleh CA publik; untuk kunci elliptic-curve modern, gantilah opsi algoritma dengan -algorithm EC -pkeyopt ec_paramgen_curve:P-256. Jaga kerahasiaan file ini: file ini tetap berada di server Anda dan tidak pernah dikirim ke CA.

Langkah 2: Membuat CSR dengan SAN

Jalankan perintah berikut, sesuaikan bidang subjek dan nama domain agar sesuai dengan milik Anda:

openssl req -new -sha256 -key example.com.key -out example.com.csr 
-subj "/C=US/ST=California/L=San Jose/O=Your Company LLC/CN=example.com" 
-addext "subjectAltName=DNS:example.com,DNS:www.example.com"

Ganti example.com dengan domain Anda yang sebenarnya di seluruh perintah, dan atur bidang subjek sesuai detail Anda:

  • C: kode negara dua huruf (misalnya, US).
  • ST: nama lengkap provinsi atau negara bagian.
  • L: kota atau lokasi.
  • O: nama organisasi resmi (untuk sertifikat DV domain tunggal, bidang ini dapat dihilangkan).
  • CN: nama domain lengkap yang memenuhi syarat utama (fully qualified domain name), misalnya www.example.com.

Cantumkan setiap nama host yang harus dicakup sertifikat pada nilai subjectAltName. Browser modern melakukan validasi berdasarkan daftar SAN, bukan Common Name, sehingga masukkan setiap nama di sana, termasuk domain utama. Perintah ini menulis CSR ke file example.com.csr.

Opsi B: metode file konfigurasi (OpenSSL versi lama)

Jika openssl version menunjukkan build yang tidak mendukung flag -addext (OpenSSL 1.0.2 dan yang lebih lama, seperti pada RHEL 7), definisikan SAN dalam file konfigurasi kecil sebagai gantinya.

Langkah 1: Membuat file konfigurasi (san.cnf)

Buat file bernama san.cnf menggunakan editor teks dan tempelkan kode berikut, sunting nilainya sesuai domain dan organisasi Anda:

[ req ]
default_bits = 2048
prompt = no
distinguished_name = dn
req_extensions = req_ext

[ dn ]
C = US
ST = California
L = San Jose
O = Your Company LLC
CN = example.com

[ req_ext ]
subjectAltName = @alt_names

[ alt_names ]
DNS.1 = example.com
DNS.2 = www.example.com

Tambahkan nama host lain dengan melanjutkan penomoran: DNS.3, DNS.4, dan seterusnya.

Langkah 2: Membuat key dan CSR

Buat private key:

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -out example.com.key

Kemudian buat CSR menggunakan file konfigurasi:

openssl req -new -sha256 -key example.com.key -out example.com.csr -config san.cnf

Verifikasi CSR

Sebelum Anda mengirimkannya, pastikan CSR berisi detail yang benar dan tanda tangan yang valid. Perintah ini menampilkan subjek, daftar SAN, ukuran kunci, dan memverifikasi tanda tangan mandiri dari permintaan:

openssl req -noout -text -verify -in example.com.csr

Periksa bahwa baris Subject dan entri X509v3 Subject Alternative Name mencantumkan setiap domain yang Anda harapkan, bahwa kunci publik setidaknya RSA 2048-bit (atau kunci elliptic-curve P-256), dan bahwa algoritma tanda tangannya adalah SHA-256. Baris yang berisi certificate request self-signature verify OK (build yang lebih lama menuliskan verify OK) berarti CSR dan private key cocok. Jika Anda lebih memilih menggunakan browser, tempelkan CSR ke dekoder CSR online kami untuk memeriksa detail yang sama.

Mengirimkan CSR

Buka file example.com.csr menggunakan editor teks dan salin seluruh isinya, termasuk baris penanda -----BEGIN CERTIFICATE REQUEST----- dan -----END CERTIFICATE REQUEST----- (setiap penanda menggunakan lima tanda hubung di kedua sisinya). Tempelkan seluruh blok tersebut ke dalam formulir pemesanan saat Anda memesan sertifikat dari vendor SSL Anda.

Simpan private key, example.com.key, di server. Jangan mengirimkannya ke CA atau menempelkannya di mana pun: file ini adalah bagian rahasia dari pasangan kunci dan tidak boleh keluar dari kendali Anda. Setelah CA memvalidasi CSR dan menerbitkan sertifikat, ikuti petunjuk instalasi SSL Red Hat Linux kami untuk menginstalnya.

Pertanyaan yang Sering Diajukan

Di mana private key disimpan saat saya membuat CSR di RHEL?

Private key ditulis ke file yang Anda tentukan dalam opsi -out (misalnya, example.com.key) di direktori tempat Anda menjalankan perintah tersebut. Key ini dibuat secara lokal dan tidak pernah disertakan dalam CSR. Cadangkan file ini di tempat yang aman dan batasi izinnya, karena Anda memerlukan key yang tepat ini untuk menginstal sertifikat yang diterbitkan oleh CA.

Haruskah saya menggunakan RSA atau ECDSA untuk kunci ini?

Keduanya diterima. RSA 2048-bit adalah standar bawaan yang kompatibel secara luas dan merupakan minimum yang diizinkan oleh CA publik. Kunci elliptic-curve (ECDSA P-256) lebih kecil dan lebih cepat sambil menawarkan tingkat keamanan yang setara; buat kunci tersebut dengan mengganti opsi kunci menjadi -algorithm EC -pkeyopt ec_paramgen_curve:P-256. Bagaimanapun, CSR harus ditandatangani dengan SHA-256, yang sudah dilakukan oleh perintah-perintah di atas.

Versi OpenSSL saya tidak mendukung -addext. Apa yang harus saya lakukan?

Flag -addext ditambahkan pada OpenSSL 1.1.1. Jika Anda menggunakan build yang lebih lama (misalnya OpenSSL 1.0.2 pada RHEL 7), gunakan metode file konfigurasi pada Opsi B, yang mendefinisikan Subject Alternative Names dalam file san.cnf alih-alih pada baris perintah.

Bagaimana cara memeriksa bahwa CSR saya sudah benar sebelum memesan?

Jalankan openssl req -noout -text -verify -in example.com.csr di server. Perintah ini menampilkan subjek, daftar SAN lengkap, jenis dan ukuran kunci, serta algoritma tanda tangan, dan memastikan bahwa CSR cocok dengan private key-nya. Periksa bidang-bidang tersebut sebelum Anda menempelkan CSR ke dalam formulir pemesanan.

Bagian mana dari CSR yang harus saya tempelkan ke dalam formulir pemesanan?

Tempelkan seluruh blok, mulai dari -----BEGIN CERTIFICATE REQUEST----- hingga -----END CERTIFICATE REQUEST----- inklusif, tanpa ada karakter yang terlewat. Kedua baris penanda menggunakan lima tanda hubung di setiap sisi. Jangan tempelkan private key.

Apakah cara ini sama untuk AlmaLinux, Rocky Linux, dan CentOS?

Ya. AlmaLinux, Rocky Linux, dan CentOS Stream kompatibel secara biner dengan rilis RHEL yang sesuai dan menyertakan OpenSSL yang sama, sehingga perintahnya identik. Kami juga memiliki tutorial khusus tentang cara membuat CSR di CentOS jika Anda memerlukannya.

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.