Membuat sertifikat SSL

Hi MWN’ers

Langkah dibawah ini diasumsikan menggunakan komputer sendiri yang bersistem operasi Linux. Bisa juga dilakukan di salah satu server Linux.

Membuat key dan konfigurasi

Pertama-tama, kita definisikan variabel-variabel ini agar tidak perlu terlalu mengulang-ulang:

$ export RANDFILE=/tmp/RANDFILE
$ export SERVERNAME=secure.example.com

secure.example.com diganti dengan nama website asli yang ingin dibuatkan sertifikat SSL-nya.

$ dd if=/dev/urandom of=$RANDFILE bs=1k count=5

Selanjutnya kita membuat private key. Hasilnya nanti adalah file SERVERNAME.key.

$ openssl genrsa -rand $RANDFILE -out $SERVERNAME.key 2048

Catatan: rata-rata CA root mendukung hingga 1024 bit saja. Jika ingin dienkrip, tambahkan opsi -des3 tapi umumnya tidak perlu.

Lalu buat $SERVERNAME.conf. Buatlah dengan mengkopi paste teks berikut ke teks editor (mis: joe $SERVERNAME.conf).

[ req ]
default_bits           = 2048
distinguished_name     = req_distinguished_name
attributes             = req_attributes
prompt                 = no

[ req_distinguished_name ]
C                      = ID
ST                     = DKI
L                      = Jakarta
O                      = PT Example Dot Com
OU                     = IT Division
CN                     = www.example.com
emailAddress           = admin@example.com

[ req_attributes ]
challengePassword      = somePassword

Yang dicetak tebal adalah yang harus diganti dengan nilai sebetulnya. Penjelasan informasi dari req_distinguished_name di atas sebagai berikut:

C: Country Name (2 letter code)
ST: State or Province
L: Locality
O: Organization Name
OU: Organizational Unit Name
CN: Common Name
emailAddress: Your Email Adress

Membuat CSR

Lalu buatlah certificate signing request (CSR). Hasilnya adalah $SERVERNAME.csr:

$ openssl req -new -sha256 -key $SERVERNAME.key -out $SERVERNAME.csr -config $SERVERNAME.conf

Pembuatan CSR saja selesai pada langkah ini. Pembuatan CSR saja dilakukan jika anda membuatkan csr untuk klien (atau anda sendiri) yang ingin membeli sertifikat dari pihak lain (misal: Verisign, Thawte, dll).

Membuat sertifikat sendiri

Jika ingin membuat sertifikat sendiri, maka langkah pembuatan CSR di atas diubah sedikit dengan menambahkan flag -x509. Jadi perintahnya seperti ini:

$ openssl req -x509 -new -key $SERVERNAME.key -out $SERVERNAME.csr -config $SERVERNAME.conf

Langkah berikutnya adalah membuat sertifikat SSL itu sendiri. Hasilnya adalah $SERVERNAME.crt. Di tahap ini pada umumnya kita menyerahkan file .csr kepada pihak CA (misalnya: MWN) dan mereka yang akan memberikan .crt-nya kepada kita. Tapi bisa saja kita membuat .crt sendiri, yaitu sertifikat dummy:

$ openssl x509 -days 365 -in $SERVERNAME.csr -signkey $SERVERNAME.key -out $SERVERNAME.crt

Resita has written 702 articles