andrypein.net : Sesuai lanjutan dari postingan membuat TRUSTED SSL Certificate sendiri yang pasti akan menghasilkan warning page saat membuka browser, kali ini ane akan praktekan bagaimana mengatasi hal tersebut.
Dengan menggunakan metode rootCA ini kita bisa menjadikan development lokal kita menjadi aman, supaya tidak ada kalimat MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT di mojila atau NET::ERR_CERT_AUTHORITY_INVALID di gogel krom.
NB : Warning, Jangan gunakan metode membuat TRUSTED SSL Certificate ini di Production, kalau online certificate mah bisa pakai lets encrypt, cloudflare, digicert, comodo ssl dll banyak yg jual, ini mah dev test purpose only.
Lanjut
Membuat Konfigurasi OpenSSL
Meanwhile inilah hal penting pertama yang harus dilakukan untuk membuat trusted ssl certificate dengan metode rootCA adalah file konfig nya.
Supaya lebih gampang working directory nya mening di /home masing-masing saja kalo ane bikin folder ssl dulu gan.
nano /home/andrypein/ssl/sslkonfig.conf vi /home/andrypein/ssl/sslkonfig.conf
Lalu masukan kode berikut :
[req] default_bits = 2048 distinguished_name = req_distinguished_name prompt = no [req_distinguished_name] C = ID ST = DKI Jakarta L = Pasar Minggu O = Akatsuki Corp OU = Dev Gaming CN = Org-Sakarepna [v3_ca] subjectAltName = @alt_names [alt_names] DNS.1 = localhost
Atur-atur saja krna itu mah contoh yang ane lalu save dan simpan.
Btw, dengan membuat rootCA ini kita bisa membuat banyak certif SSL yang lain yang lebih banyak lagi dalam arti satu file rootCA.key ini bisa digunakan ke multi sertif.
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.pem
Isi bebas saja gan.
Membuat TRUSTED SSL Certificate
Untuk request tandatangan dalam per SSL an, kita perlu generate CSR dan private key nya dulu gan supaya si rootCA.pem nya bisa dipakai.
openssl req -new -sha256 -nodes -out devTest.csr -newkey rsa:2048 \ -keyout devTest.key
Setelah ini baru kita bisa generate crt alias ssl sertif ssl yang akan aing pakai di testing broser nanti.
openssl x509 -req -in devTest.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial \ -out devTest.crt -sha256 -days -extfile sslkonfig.conf
Tes Nginx Konfig
Coba langsung dites di nginx nya saja gan, btw, file yang akan dipakai adalah devTest.key dan devTest.crt gan, mereka adalah private key dan sertifikatnya itu sendiri.
server { listen 80 default_server; listen [::]:80 default_server; # SSL configuration listen 443 ssl default_server; listen [::]:443 ssl default_server; ssl_certificate /home/andrypein/ssl/devTest.crt; ssl_certificate_key /home/andrypein/ssl/devTest.key; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } }
Save gan dan tes file konfig dari nginx nya untuk memastikan nama file benar karena linux case sensitive lalu restart nginx.
root@vm-andrypein:/home/andrypein# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful root@vm-andrypein:/home/andrypein# service nginx restart root@vm-andrypein:/home/andrypein#
Download rootCA.pem
Nah ini, supaya si browser https nya hijau, download dulu gan rootCA.pem yang dari awal kita generate, bebas lah bisa pakai filezilla atau winscp, yang pasti si rootCA.pem HARUS di download.
Konfigurasi Browser
Setelah di donlod, lanjut pada konfigurasi browser,
- Google Chrome
Settings -> Advanced -> Privacy and security -> Manage certificates -> Authorities -> Import (select rootCA.pem file and set all trust settings) - Mozilla Firefox
Preferences -> Privacy & Security -> Certificates -> View Certificates -> Authorities -> Import (select rootCA.pem file and set all trust settings)
Ganti Host dulu Gan
Beneran, kalau pakai IP si padlock browser akan masih kuning, trik selanjutnya karena ini dev gaming, maka /etc/hosts nya kita tambah IP dan fake domain gan, seperti yang ane ini.
[Manjaro-Pein andrypein]# cat /etc/hosts # Host addresses 127.0.0.1 localhost 127.0.1.1 Manjaro-Pein ::1 localhost #ip6-localhost ip6-loopback #ff02::1 ip6-allnodes #ff02::2 ip6-allrouters 10.234.69.12 dev.andrypein.net
Tes Dong
Ojelas pasti works, selamat mencoba.