559 words
3 minutes
Cara Membuat Root CA Certificate dan Self Signed SSL Certificate di Linux.

Introduction#

Selamat datang kembali, setelah kurang lebih 2 bulan nggak bikin post lagi. Akhirnya hari ini saya bikin post lagi. Di post ini, saya akan membahas. Bagaimana cara membuat Root Certificate Authority, dan bagaimana cara membuat Self Signed Certificate.

Apa itu SSL Certificate#

SSL adalah singkatan dari Secure Sockets Layer, adalah protokol keamanan kriptografi yang dirancang untuk memberikan keamanan ketika berkomunikasi melalui jaringan komputer. Contoh nya adalah ketika mengakses sebuah situs web yang sudah dilengkapi dengan SSL, pesan yang diterima dan dikirim melalui web browser akan dienkripsi, hanya penerima dan pengirim yang dapat melakukan dekripsi pesan yang telah di enkripsi.

Lalu apa itu Root Certificate Authority#

Root Certificate adalah public key certificate untuk sebuah entitas yang menyimpan, mentandatangani, dan membuat digital certificate. Root Certficate Authority dapat memverifikasi kepemilikan dari sebuah sertifikat digital.

Cara kerja Root CA dan Self-Signed-Certificate#

Sebuah client dapat mempercayai certificate dari sebuah root CA, otomatis client juga akan mempercayai sertifikat digital yang ditandatangani oleh root certificate yang telah di percaya oleh si client.

Tasks#

Membuat Sertifikat Root CA#

Generate Private Key Root CA#

Generate terlebih dahulu private key menggunakan openssl

NOTE

Ganti “karya-agung_root_ca” menjadi nama file yang kamu inginkan

openssl genrsa -aes256 -out karya-agung_root_ca.key 4096

Request Root CA Certificate#

Setelah private key di generate, kita langsung bisa request certificate dengan perintah

openssl req -x509 -new -noenc -key karya-agung_root_ca.key -sha256 -days 3650 -out karya-agung_root_ca.crt

Atau jika ingin mengisi beberapa paramater subject

openssl req -x509 -new -noenc -key karya-agung_root_ca.key -sha256 -subj "/C=ID/O=Karya Agung/CN=Karya Agung Trust R1 v2/" -days 3650 -out karya-agung_root_ca.crt

Membuat Sertifikat Untuk Domain#

Selanjutnya kita akan membuat sertifikat untuk sebuah domain, nantinya sertifikat ini akan di sign menggunakan Root certificate yang tadi telah kita buat.

Generate Private Key#

Jalankan perintah ini untuk membuat private key.

openssl genrsa -out karyaagung.local.key 2048

Generate file CSR (Certificate Signing Request)#

Jalankan perintah ini, lalu isi dialog yang ditampilkan sesuai dengan kriteria.

TIP

Jika kamu tidak tahu harus jawab apa, silahkan isi pertanyaan tersebut dengan tanda titik ’.‘.

NOTE

Pada bagian “challenge password” kosongin aja

openssl req -new -key karyaagung.local.key -sha256 -out karyaagung.local.csr

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]:Karya Agung
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:karyaagung.local
Email Address []:.

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:.

Request Certificate#

Setelah membuat file CSR, selanjutnya kita akan melakukan request certificate.
Edit file /etc/ssl/openssl.cnf. Navigasi ke bagian paling bawah, lalu tambahkan.

[ karyaagung.local ]
subjectAltName = DNS:karyaagung.local,DNS:www.karyaagung.local

Pada bagian [ karyaagung.local ], ganti dengan domain yang ingin kamu gunakan. Lalu pada DNS:karyaagung.local, ganti dengan FQDN yang kamu ingin gunakan.

TIP

Jika ingin menambahkan subjectAltName dalam satu domain yang sama, cukup berikan tanda koma , dan tambahkan FQDN yang akan didaftarkan seperti contoh diatas.

Setelah itu, jalankan perintah ini.

NOTE

Pada bagian -extensions karyaagung.local, ganti karyaagung.local menjadi extensions domain kamu yang sudah kamu input di file /etc/ssl/openssl.conf

openssl x509 -req -in karyaagung.local.csr -CA karya-agung_root_ca.crt -CAkey karya-agung_root_ca.key -CAcreateserial -out karyaagung.local.crt -days 365 -sha256 -extfile /etc/ssl/openssl.cnf -extensions karyaagung.local

Masukkan password yang digunakan oleh file private key root CA.

Setelah generate, silahkan cek validasi sertifikat menggunakan perintah berikut

openssl x509 -in karyaagung.local.crt -text -noout

Mengimpor Root Sertifikat Ke Host Client#

Silahkan liat artikel berikut untuk mengimpor file sertifikat root pada masing-masing perangkat client.

Kesimpulan#

Tadi kita telah membuat Root CA Certificate, serta membuat dan mentandatangani SSL certificate menggunakan Root CA Certificate yang tadi sudah kita buat. Semoga post ini dapat membantu kalian yang sedang mencari tutorial seperti judul di post ini.