Banyak bertebaran tentang tutorial ini di Google, Inc tapi saya ingin merangkumnya agak lebih efesien dan efektif. Awalnya saya menggunakan protocol
', maka saya harus bermigrasi ke HTTP
untuk link download karena banyaknya app yg beredar bisa nge-sniff
`clear URL
protocol
HTTPS
yg pastinya di-encrypt
, tapi untuk menggunakan protocol
HTTPS
ini sudah dipastikan harus ada verifikasi dari public SSL
provider spt DigiCert, Verisign dsb, berupa sertifikat yg valid. Tapi berhubung saya cuma UKM so pasti keberatan kalo beli hehe...
Maka saya coba dengan metode
Self-Sign Certificate
meski tidak sesempurna sertifikat beli ya lumayan lah... OK, langkah awal pastikan webserver
support dgn SSL
, saya menggunakan Lighttpd
+ OpenSSL
, saya tidak menjelaskan
instalasinya yah...root:~# lighttpd -v
lighttpd/1.4.35 (ssl) - a light and fast webserver
Build-Date: Apr 22 2014 13:54:26
root:~# cat /usr/local/etc/lighttpd/lighttpd.conf
1. Konfigurasi webserver agar support HTTPS
.
$SERVER["socket"] == "xxx.xxx.xxx.xxx:443" {
ssl.engine = "enable"
ssl.pemfile = "/etc/ssl/certs/server.pem"
ssl.ca-file = "/etc/ssl/certs/server.crt"
ssl.honor-cipher-order = "enable"
ssl.use-sslv2 = "disable"
ssl.use-sslv3 = "disable"
}
Redirect semua HTTP
ke HTTPS
$HTTP["scheme"] == "http" {
$HTTP["host"] =~ "domain.tld" {
url.redirect = ( "/.*" => "https://%0$0" )
}
}
2. Pembikinan sertifikat.2.1 Pembikin sertifikat
CA (Certificate Authority)
root:~# cd /etc/ssl
root:/etc/ssl# mkdir certs
root:/etc/ssl/certs# openssl genrsa -out ca.key 4096
root:/etc/ssl/certs# openssl req -x509 -new -sha256 -nodes -key ca.key -days 2555 -out ca.pem
root:/etc/ssl/certs# openssl x509 -outform der -in ca.pem -out ca.crt
2.2 Pembikinan sertifikat untuk server/site
root:/etc/ssl/certs# openssl genrsa -out server.key 4096
root:/etc/ssl/certs# openssl req -new -sha256 -key server.key -out server.csr
2.3 Pembikinan CRT
dan PEM
sertifikat
root:/etc/ssl/certs# cat v3.ext
authorityKeyIdentifier = keyid,issuer
basicConstraints = CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
root:/etc/ssl/certs# openssl x509 -req -sha256 -days 730 -extfile v3.ext -in server.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out server.crt
root:/etc/ssl/certs# cat server.key server.crt > server.pem
root:/etc/ssl/certs# chmod 600 *
root:/etc/ssl/certs# /usr/local/etc/rc.d/lighttpd restart
Agar ter-verify
silahkan dishare *.crt
filenya, kalo client/browser kita sudah install *.crt
pasti status Verified
.
Tidak ada komentar:
Posting Komentar