Belakangan ini, aku sedang belajar lebih dalam mengenai SSL (Secure Sockets Layer). Setelah mulai memahami cara kerja SSL secara umum, aku menemukan satu istilah yang hampir selalu muncul ketika ingin mengajukan sertifikat SSL, yaitu CSR atau Certificate Signing Request.
Awalnya aku berpikir, “Kenapa harus membuat file CSR dulu? Bukannya tinggal memasang SSL saja?”
Ternyata, prosesnya tidak sesederhana itu. Sebelum sebuah Certificate Authority (CA) seperti Let’s Encrypt, Sectigo, DigiCert, atau penyedia SSL lainnya dapat menerbitkan sertifikat, mereka membutuhkan sebuah file yang berisi informasi mengenai domain dan identitas pemilik sertifikat. File tersebut adalah CSR (Certificate Signing Request).
Karena aku juga sempat penasaran dengan fungsi file ini, akhirnya aku mencoba mempelajarinya lebih dalam. Nah, pada artikel kali ini aku ingin membagikan apa yang sudah aku pelajari mengenai file CSR, mulai dari pengertiannya, isi di dalamnya, hubungan dengan private key, hingga cara membuatnya menggunakan OpenSSL.
Semoga setelah membaca artikel ini, teman-teman tidak lagi bingung ketika diminta membuat file .csr saat proses instalasi SSL.
Apa Itu File CSR?
CSR (Certificate Signing Request) adalah sebuah file yang dibuat sebagai permintaan kepada Certificate Authority (CA) untuk Certificate Signing Request (CSR) adalah sebuah file yang digunakan untuk mengajukan permintaan pembuatan SSL Certificate kepada Certificate Authority (CA), seperti Let’s Encrypt, Sectigo, DigiCert, maupun penyedia SSL lainnya.
Di dalam file CSR terdapat beberapa informasi penting, seperti:
- Nama domain (Common Name)
- Nama organisasi
- Nama divisi (Organizational Unit)
- Kota
- Provinsi
- Negara
- Public Key
Perlu diketahui juga bahwa CSR tidak menyimpan Private Key. Private Key akan tetap berada di server dan tidak boleh dibagikan kepada siapa pun.
Supaya lebih mudah dipahami, aku menganggap CSR seperti formulir pendaftaran. Kita mengisi informasi yang diperlukan, kemudian formulir tersebut dikirim ke Certificate Authority agar mereka dapat menerbitkan SSL Certificate.
Cara Membuat CSR Menggunakan OpenSSL
Sebelum membuat CSR, pastikan OpenSSL sudah terpasang pada server. Untuk mengeceknya, jalankan perintah berikut.
openssl version
Jika OpenSSL sudah terpasang, lanjutkan dengan menjalankan perintah berikut.
openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr
Perintah tersebut akan membuat dua file sekaligus, yaitu:
domain.key→ Private Keydomain.csr→ Certificate Signing Request
Setelah menjalankan perintah di atas, OpenSSL akan meminta kita mengisi beberapa informasi.
| Informasi | Keterangan |
|---|---|
| Country Name | Kode negara, misalnya ID. |
| State or Province | Nama provinsi. |
| Locality | Nama kota. |
| Organization Name | Nama perusahaan atau organisasi. |
| Organizational Unit | Nama divisi atau departemen. |
| Common Name | Nama domain yang akan dipasang SSL. |
| Email Address | Opsional, dapat diisi email administrator. |
Pastikan terutama pada bagian Common Name, karena harus sesuai dengan domain yang akan menggunakan SSL Certificate.
Penjelasan Perintah OpenSSL
Agar tidak hanya menyalin perintah, yuk kita pahami fungsi setiap parameternya.
openssl req -new -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr
- openssl → Menjalankan aplikasi OpenSSL.
- req → Membuat Certificate Signing Request.
- -new → Membuat CSR baru.
- -newkey rsa:2048 → Membuat pasangan Private Key baru menggunakan algoritma RSA 2048 bit.
- -nodes → Membuat Private Key tanpa password agar dapat digunakan langsung oleh web server.
- -keyout domain.key → Menentukan nama file Private Key.
- -out domain.csr → Menentukan nama file CSR yang akan dibuat.
Dengan memahami fungsi setiap parameter, kita tidak hanya mengikuti tutorial, tetapi juga mengetahui apa yang sebenarnya dilakukan oleh OpenSSL.
Cara Melihat CSR
Sebelum mengirimkan CSR ke Certificate Authority, kita bisa memastikan isi file tersebut sudah benar menggunakan perintah berikut.
openssl req -text -noout -verify -in domain.csr
Perintah ini akan menampilkan informasi yang terdapat di dalam CSR, seperti nama domain, organisasi, kota, dan data lainnya.
Jika semua informasi sudah sesuai, file CSR siap dikirimkan ke Certificate Authority untuk diproses menjadi SSL Certificate.
Hal yang Perlu Diperhatikan
Saat membuat CSR, ada beberapa hal yang sebaiknya tidak dilewatkan.
- Pastikan Common Name sesuai dengan domain yang akan digunakan.
- Jangan pernah membagikan file
.keykepada siapa pun. - Yang dikirim ke Certificate Authority hanyalah file
.csr. - Simpan Private Key di tempat yang aman karena akan digunakan saat proses instalasi SSL.
Setelah mempelajari CSR, akhirnya aku jadi lebih paham bahwa file ini merupakan salah satu langkah penting sebelum mendapatkan SSL Certificate. CSR berisi informasi mengenai domain dan public key yang nantinya digunakan oleh Certificate Authority untuk menerbitkan sertifikat.
Walaupun proses pembuatannya cukup sederhana, memahami fungsi dari setiap langkah akan sangat membantu ketika nanti melakukan instalasi SSL di Apache, Nginx, Zimbra, atau layanan lainnya. Semoga artikel ini bisa membantu teman-teman yang sedang belajar SSL, khususnya dalam memahami apa itu CSR dan bagaimana cara membuatnya menggunakan OpenSSL.
Referensi: