Langsung ke konten utama

Membuat Certificate Authority dengan OpenSSL

Untuk mempermudah hidup, OpenSSL menyediakan script untuk membuat direktori root CA secara otomatis yang berada di /usr/lib/ssl/misc/CA.pl (pada sistem operasi Debian).

1. Edit file /etc/ssl/openssl.cnf, sesuaikan dengan kebutuhan anda. Disini saya akan mengatur path direktori root CA ke /etc/ca, mengosongkan opsi stateOrProvinceName, dan mengubah beberapa default value.





2. Edit file /usr/lib/ssl/misc/CA.pl, cari variable "my $CATOP" dan arahkan ke direktori /etc/ca, sama seperti konfigurasi di /etc/ssl/openssl.cnf tadi.


3. Eksekusi script CA.pl dengan perintah
perl /usr/lib/ssl/CA.pl -newca
dan isi field sesuai kebutuhan.


4. Direktori /etc/ca akan terbuat, beserta isi sesuai dengan yang dibutuhkan direktori root CA. CA certificate terletak di /etc/ca/cacert.pem, salin file ini dengan format *.crt dan sebarkan ke PC client.


5. Buat certificate request untuk website. Isi field Common Name dengan domain website.

openssl req -out www.req -newkey rsa:1024 -keyout www.key -nodes

6. Beberapa web browser (seperti Google Chrome) memerlukan atribut Subject Alternative Name (SAN), yaitu nama/domain lain yang dapat menggunakan certificate file yang sama, pada certificate website. Oleh karena itu, pada saat signing kita akan menambahkan atribut SAN. Ada 2 metode untuk hal ini:

a. Menggunakan extension file
Pertama, kita buat file yang berisi atribut subjectAltName seperti berikut.
subjectAltName=DNS:itnsaskills.cloud,DNS:www.itnsaskills.cloud,DNS:localhost

Kemudian, kita sign certificate dengan mengarahkan opsi extfile ke file yang kita buat tadi.
openssl ca -in www.req -out www.crt -extfile san_file 
 

b. Metode one-liner
Untuk mempersingkat waktu, kita definisikan SAN langsung saat signing dengan perintah
openssl ca -in www.req -out www.key -extfile <(printf "subjectAltName=DNS:itnsaskills.cloud,DNS:www.itnsaskills.cloud,DNS:localhost")


7. Pada apache (atau nginx atau apalah service yang kalian pakai), arahkan certificate file dan certificate key file ke file yang telah kita buat tadi.


Jangan lupa instal root certificate di PC client. Jika berhasil, saat website diakses via HTTPS, tidak akan ada error. Gemboknya pun berwarna hijau.


Sekian dan terima kasih.

Komentar

Postingan populer dari blog ini

Classless Routing dan Perbedaannya dengan Classful Routing

Di postingan sebelumnya sudah dicontohkan topologi classful routing dan sedikit dijelaskan mengenai perbedaan informasi yang dikirimkan antara classful routing dengan classless routing. Di postingan kali ini akan ditunjukkan perbedaan antara protokol classful routing (RIPv1) dengan protokol classless routing (RIPv2) menggunakan topologi classless (VLSM) seperti di bawah ini. Dengan proses konfigurasi IP Address sebagai berikut: Router 1: Router 2: PC-1: PC-2: PC-3: PC-4: Uji coba ping antar PC beda subnet satu router (PC-4 ke PC-3): Di penjelasan mengenai classful routing, kita mengetahui bahwa protokol classful routing tidak mendukung VLSM karena informasi mengenai Subnet Mask tidak dikirimkan dalam proses routing. Lalu apa yang terjadi bila topologi VLSM seperti diatas menggunakan protokol classful routing? Kita akan menggunakan protokol RIPv1 untuk mengetahuinya. Konfigurasi RIPv1 di masing-masing router seperti di bawah...

PENGENALAN JARINGAN KOMPUTER

Jaringan komputer adalah hubungan antara dua komputer atau lebih yang memungkinkan antar komputer untuk saling berkomunikasi dengan bertukar data. Dengan saling terhubungnya komputer-komputer tersebut, akan memungkinkan terjadinya resource sharing atau berbagi sumber daya. Contohnya, dengan adanya jaringan komputer, kita dapat dengan mudah berbagi data seperti dokumen, gambar, video, dan lainnya tanpa perlu terkendala jarak. Dengan jaringan komputer kita juga dapat berbagi hardware seperti printer. Dengan begitu, satu printer dapat digunakan oleh banyak komputer sekaligus. Berdasarkan wilayah cakupannya, jaringan komputer dapat dibedakan menjadi: 1. Personal Area Network (PAN) Personal Area Network (PAN) adalah  jaringan komputer yang digunakan untuk komunikasi antara perangkat komputer milik pribadi. Contoh dari PAN adalah mouse, keyboard, ataupun hp yang terhubung ke komputer baik melalui kabel ataupun secara wireless. Biasanya menggunakan kabel USB, atau Bluetooth...