Membuat Self-signed Certificate Menggunakan OpenSSL

Membuat Self Sign Certificate Menggunakan OpenSSL. Oke kali ini saya akan sharing sedikit mengenai bagaimana cara membuat dan memasang self-sign certificate. Bagi yang belum tau, self-sign certificate adalah seritikat SSL yang ditandatangani (sign) sendiri oleh pembuatnya, bukan pihak otoritas sertifikat terpercaya seperti Let's Encrypt.

Untuk tingkat enkripsinya sendiri sebenarnya sama dengan seritifikat yang dibuat oleh otoritas terpercaya, namun self-sign certificate tidak ada verifikasi, sehingga biasanya ketika diakses melalui browser akan memunculkan warning bahwa sertifikat ssl yang dipasang di web tersebut tidak dapat diverifikasi.

Biasanya self-sign certificate ini diperlukan untuk local development, untuk memasang SSL pada domain ataupun FQDN yang tidak eksis secara online. Misalnya kita ingin memasang SSL pada fqdn website.local, tentu kita tidak bisa menggunakan layanan sertifikat dari otoritas karena proses verifikasinya harus online.

Oke, untuk membuat self-sign ceritifcate yang dibutuhkan hanyalah openssl. Jika belum dipasang, kalian bisa pasang menggunakan perintah berikut di Ubuntu dan Debian:

sudo apt install openssl -y

Atau pengguna CentOS bisa gunakan yum.

sudo yum install openssl -y

Selanjutnya gunakan command openssl req.

Ini perintah yang bisa digunakan.

openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes  -out website.local.crt -keyout website.local.key

Oke ini penjelasan dari beberapa flag yang saya cantumkan diatas.

  • -newkey rsa:4096 – Membuat permintaan sertifikat baru dan kunci RSA 4096 bit.
  • -x509 – Membuat Sertifikat X.509..
  • -sha256 – Menggunakan hash 265-bit SHA .
  • -days 3650 – Jumlah hari valid untuk sertifikat yang akan dibuat.
  • -nodes – Membuat kunci tanpa password.
  • -out website.local.crt – Nama file sertifikat yang akan dibuat.
  • -keyout website.local.key – Nama key dari sertifikat yang akan dibuat.

Contoh output:

writing new private key to 'website.local.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:ID
State or Province Name (full name) [Some-State]:Jakarta
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Local Development
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:website.local
Email Address []:admin@website.local

root@linuxsec:/opt/self-sign-ssl# ls
website.local.crt  website.local.key
Oke selanjutnya tinggal kita gunakan sertifikat yang telah dibuat ke webserver ataupun aplikasi yang akan dibuat.

Baiklah mungkin sekian tutorial singkat kali ini mengenai cara membuat self-sign certificate. Jika ada yang ingin ditanyakan silahkan tinggalkan komentar.