Pengertian
Root (Certificate Authority) -> 2. Intermediate (Certificate Issuer) -> 3. End User Certificate.
Sedangkan Self-Signed Certificate umumnya hanya memiliki yang ketiga. Tidak mempunyai Root dan Intermediate Authority.
Jadi apakah kita bisa membuat sendiri ketiga komponen tersebut?
Bisa, dengan OpenSSL kita bisa membuat sendiri ketiga komponen diatas. Jadi intinya dengan OpenSSL kita
Latar belakang
pada postingan saya yang lalu saya telah memposting Menerapkan SSL (HTTPS) untuk Login Hotspot MikroTik tapi pada postingan itu saya belum menjelaskan bagaimana mambuat Certificate SSLnya.dan pada kesempatan ini saya akan membahasnya
Alat dan bahan
1.OS Debian server
2.OpenSSL (di Debian dan turunannya dapat diinstall dengan apt-get install
openssl)
3.Web server
Tahap pelaksanaan
Buat Direktori untuk Sertifikat kita nantinya di /root/ca. Juga buat struktur direktorinya
root@maulana:~# mkdir ca && cd ca
root@maulana:~/ca# mkdir certs crl newcerts private
root@maulana:~/ca# chmod 700 private
root@maulana:~/ca# touch index.txt && echo 1000 > serial
root@maulana:~/ca# mkdir intermediate && cd intermediate
root@maulana:~/ca/intermediate# mkdir certs crl csr newcerts private && chmod 700 private
root@maulana:~/ca/intermediate# touch index.txt && echo 1000 > serial
root@maulana:~/ca# echo 1000 > intermediate/crlnumber
Selanjutnya saya akan buat OpenSSL yang akan kita gunakan untuk Root CA nantinya
root@maulana:~/ca# nano openssl.cnf
untuk isinya masukkan perintah Berikut ini
Buat Root KeyRoot Key akan digunakan untuk membuat Sertifikat Root (CA)
root@maulana:~/ca# openssl genrsa -aes256 -out private/ca.key.pem 4096
root@maulana:~/ca# chmod 400 private/ca.key.pem
Buat Sertifikat Root (CA)
Disinilah Root Key akan digunakan. Yaitu untuk membuat Sertifikat Root, mengapa keamanan file ini penting? karena siapapun yang memiliki akses Root Key maka dia dapat menerbitkan sertifikat sendiri. Juga pastikan untuk memilih durasi Sertifikat Root yang agak lama untuk kadaluarsa.Karena jika Durasi Sertifikat Root Habis maka Sertifikat dibawahnya juga ikut kadaluarsa.
root@maulana:~/ca# openssl req -config openssl.cnf -key private/ca.key.pem -new -x509 -days 5760 -sha256 -extensions v3_ca -out certs/ca.cert.pem
root@maulana:~/ca# chmod 444 certs/ca.cert.pemUntuk melihat hasil Pembuatan Sertifikat Root
root@maulana:~/ca# openssl x509 -noout -text -in certs/ca.cert.pemSekarang kita buat OpenSSL untuk Intermediate CA
root@maulana:~/ca/intermediate# nano openssl.cnf
untuk isinya masukkan perintah Berikut ini
Tambahkan File crlnumber di direktori Intermediate CA untuk mengikuti daftar Certificate Revocation Lists
root@maulana:~/ca/intermediate# echo 1000 > crlnumberBuat Intermediate Key
Intermediate Key akan digunakan untuk membuat sertifikat Intermediate CA
root@maulana:~/ca# openssl genrsa -aes256 -out intermediate/private/intermediate.key.pem 4096
root@maulana:~/ca# chmod 400 intermediate/private/intermediate.key.pemBuat Sertifikat CSR (Certificate Signing Request) untuk Intermediate CA
Disini Intermediate Key akan digunakan untuk men-generate atau membuat Sertifikat CSR untuk Intermediate CA.
root@maulana:~/ca# openssl req -config intermediate/openssl.cnf -new -sha256 -key intermediate/private/intermediate.key.pem -out intermediate/csr/intermediate.csr.pem
Buat Sertifikat Intermediate
Setelah CSR untuk Intermediate dibuat, selanjutnya adalah digunakan
bersama dengan Root CA untuk membuat Sertifikat Intermediate. Untuk
catatan, Durasi dari Sertifikat Intermediate haruslah tidak lebih
panjang dari Durasi dari Sertifikat Root.
root@maulana:~/ca# openssl ca -config openssl.cnf -extensions v3_intermediate_ca -days 5400 -notext -md sha256 -in intermediate/csr/intermediate.csr.pem -out intermediate/certs/intermediate.cert.pemroot@maulana:~/ca# chmod 444 intermediate/certs/intermediate.cert.pem
Verifikasi Hasil dari Pembuatan Sertifikat Intermediate
root@maulana:~/ca# openssl verify -CAfile certs/ca.cert.pem intermediate/certs/intermediate.cert.pem
Bila hasil benar maka akan keluar: intermediate.cert.pem: OK
Sekarang kita buat Certificate Key untuk End User
root@maulana:~/ca# openssl genrsa -aes256 -out intermediate/private/maulana.id.key.pem 2048
root@maulana:~/ca# chmod 400 intermediate/private/maulana.id.key.pemSelanjutnya buat CSR (Certificate Signing Request) untuk End User
root@maulana:~/ca# openssl req -config intermediate/openssl.cnf -key intermediate/private/maulana.id.key.pem -new -sha256 -out intermediate/csr/maulana.id.csr.pem
Selanjutnya buat Sertifikat End User dengan Certificate Key dan CSR End User
root@maulana:~/ca# openssl ca -config intermediate/openssl.cnf -extensions server_cert -days 5400 -notext -md sha256 -in intermediate/csr/maulana.id.csr.pem -out
intermediate/certs/maulana.id.cert.pem
root@maulana:~/ca# chmod 444 intermediate/certs/maulana.id.cert.pem
Sekarang buat File Certificate Chain
root@maulana:~/ca# cat intermediate/certs/intermediate.cert.pem certs/ca.cert.pem > intermediate/certs/ca-chain.cert.pem
root@maulana:~/ca# chmod 444 intermediate/certs/ca-chain.cert.pem
Untuk verifikasi
root@maulana:~/ca# openssl verify -CAfile intermediate/certs/ca-chain.cert.pem intermediate/certs/maulana.id.cert.pem
Bila hasil benar maka akan keluar: maulana.id.cert.pem: OK
Kalian bisa melihat file Certificate di directory
maulana.id.key.pem (SSL Private Key) (Lokasi: intermediate/private)
maulana.id.cert.pem (SSL Certificate) (Lokasi: intermediate/certs)
Referensi
Jamielinux (Sign Server and Client Certificate - OpenSSL Certificate Authority)
https://penguinstunnel.blogspot.co.id/2017/01/membuat-self-signed-ca-ssl-dengan.html
https://github.com/schrodervictor/simple-certificate-authority/blob/master/README.md
0 komentar:
Posting Komentar