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