Mikrotik kernel loading failed | Bootloop | Netinstall

Cara Sederhana Membuat Root CA Self-Signed CA dengan OpenSSL

Memasang SSL pada sebuah website dapat mencegah dari pencurian data, karena data yang terkirim telah terenkripsi dengan bahasa yang tidak dapat diterjemahkan secara langsung oleh manusia dan hanya dimengerti oleh komputer. Langsung saja saya akan berikan caranya.
Berikut langkah-langkahnya :

Buat folder sebagai tempat untuk menaruh sertifikat yang akan kita buat, misalkan akan saya taruh pada folder /ssl
mkdir /ssl

Masuk ke dalam folder yang kita buat, kemudian buat beberapa buah folder untuk menaruh key, csr, serta sertifikat
mkdir certs newcerts private csr

Salin file konfigurasi openssl ke dalam folder /ssl
cp /etc/ssl/openssl.cnf /ssl/
Edit file openssl.cnf, cari kata $dir ganti dengan path tempat dimana kita menaruh sertifikat yang akan kita buat, ganti dengan /ssl
Buat file serial serta crlnumber, isikan dengan 00
echo 00 > serial
echo 00 > crlnumber

Buat file kosong index.txt
touch index.txt

Generate rsa key dengan preshared key”qwerty” dan panjang bit 2048, buat beberapa untuk CA rootServer, dan Client
openssl genrsa -des3 -passout pass:qwerty -out private/rootCA.key 2048
openssl genrsa -des3 -passout pass:qwerty -out private/geekslearn.com.key 2048
openssl genrsa -des3 -passout pass:qwerty -out private/client.key 2048

Untuk menghapus preshared key agar tidak memerlukan password lagi saat ingin digunakan
openssl rsa -passin pass:qwerty -in private/rootCA.key -out private/rootCA.key
openssl rsa -passin pass:qwerty -in private/geekslearn.com.key -out private/geekslearn.com.key
openssl rsa -passin pass:qwerty -in private/client.key -out private/client.key

Buat CA root terlebih dahulu
openssl req -config openssl.cnf -new -x509 -subj '/C=ID/O=TheGeeksLearn/CN=geekslearn.com' -days 999 -key private/rootCA.key -out certs/rootCA.crt

Buat CSR ( Certificate Signing Request ) untuk Server dan Client
openssl req -config openssl.cnf -new -subj '/C=ID/O=TheGeeksLearn/CN=geekslearn.com' -key private/geekslearn.com.key -out csr/geekslearn.com.csr
openssl req -config openssl.cnf -new -subj '/C=ID/O=TheGeeksLearn/CN=Client' -key private/client.key -out csr/client.csr

Buat sertifikat untuk Server dan Client berdasarkan CSR yang sudah dibuat
openssl ca -batch -config openssl.cnf -days 999 -in csr/geekslearn.com.csr -out certs/geekslearn.com.crt -keyfile private/rootCA.key -cert certs/rootCA.crt -policy policy_anything
openssl ca -batch -config openssl.cnf -days 999 -in csr/client.csr -out certs/client.crt -keyfile private/rootCA.key -cert certs/rootCA.crt -policy policy_anything


Export sertifikat Client
openssl pkcs12 -export -passout pass:qwerty -in certs/client.crt -inkey private/client.key -certfile certs/rootCA.crt -out certs/clientcert.p12
Saya mencoba memasang sertifikat yang telah dibuat pada webserver apache, maka konfigurasikan webserver seperti berikut
SSLEngine on
SSLCertficateFile /ssl/certs/geekslearn.com.crt
SSLCertficateKeyFile /ssl/private/geekslearn.com.key
SSLCertificateChainFile /ssl/certs/rootCA.crt
SSLCACertficateFile /ssl/certs/rootCA.crt
SSLVerifyClient require
SSLVerifyDepth 10
Kemudian import rootCA.crt dan clientcert.p12 ke browser. Jika sudah maka tinggal membuka alamat website dengan menggunakan protokol HTTPS. Misalkan https://geekslearn.com,  jika tidak ada error atau warning berarti Root CA yang dibuat sudah benar atau berhasil. Selamat mencoba dan terima kasih.

Komentar