Dokumen tersebut memberikan tutorial singkat tentang konfigurasi sertifikat SSL menggunakan Certificate Authority (CA) pada virtual host Apache. Langkah-langkah yang dijelaskan meliputi persiapan pembuatan sertifikat CA, membuat sertifikat untuk localhost, menandatangani sertifikat request, meletakkan sertifikat di Apache, dan menginstal sertifikat CA pada browser.
Diskusi PPT Sistem Pakar Sesi Ke-4 Simple Naïve Bayesian Classifier .pdf
PKI Setup
1. Oleh:
APRIDILA ANGGITA SURI
NIM.11453205120
TUTORIAL CERTIFICATE AUTORITY (CA)
PUBLIC KEY INFRASTRUCTURE (PKI)
Pada VIRTUALHOST DAN SSL
PROGRAM STUDI SISTEM INFORMASI
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM RIAU
2017
2. SEKILAS TENTANG CA (Certificate Authority)
Certificate Authority (CA) merupakan salah satu komponen dari PKI (Public Key
Infrastructure).
Dalam pembahasan kali ini saya berperan sebagai CA (Certificate Authority) yang akan
menandatangani sertifikat sendiri serta merubah sertifikat SSL yang dimiliki oleh XAMPP.
Langkah-langkah yang akan dilakukan akan terbagi menjadi beberapa tahapan:
– Persiapan (Sertifikat SSL pada XAMPP),
– Membuat Sertifikat CA,
– Membuat Sertifikat Untuk Localhost,
– Menandatangani Sertifikat Request,
– Meletakan CRT dan Key Ke Apache,
– Menginstall sertifikat CA.
3.
4. Menjalankan CMD Sebagai AdministratorMenjalankan CMD Sebagai Administrator
1. Ketikkan cmd di
perncarian Windows.
2. Klik kanan pada cmd.
3. Klik Run as
administrator.
5. Setting BerkasSetting Berkas HostHost
Ketikkan: notepad WindowsSystems32driversetchosts
Tambahkan: 127.0.0.1 namaAnda.com
pada notepad hosts.
Kemudian simpan.
6. Setting BerkasSetting Berkas HostHost (Cont...)(Cont...)
Lakukan pengujian apakah berkas hosts berhasil ditambahkan atau belum dengan
mengetikkan nama.com tadi di cmd, dengan perintah: ping namaAnda.com
Apabila muncul pesan reply from 127.0.0.1: byte=32 time<1ms TTL=128,
maka settingan hosts Anda benar, dan telah terhubung dengan Apache (Xampp).
7.
8. Setting VirtualHost dengan Apache (XAMPP)Setting VirtualHost dengan Apache (XAMPP)
Ketikkan: notepad
C:Xamppapacheconfhttpd.conf
Tambahkan text pada notepad httpd.conf yang
diberi tanda kotak warna merah di samping.
Kemudian simpan.
9. Setting VirtualHost dengan Apache (Cont...)Setting VirtualHost dengan Apache (Cont...)
1. Buat folder sites-enabled pada direktori conf dengan
perintah mkdir C:xamppapacheconfsites-enabled.
2. Buat sebuah berkas di dalam folder sites-enabled tersebut
notepad C:xamppapacheconfsites-
enabledapridilagiva.conf
*nb. apridilagiva.conf dapat diubah dengan namaAnda.conf
10. Tambahkan isi pada notepad, seperti gambar di bawah, kemudian simpan.
*nb. apridilagiva dapat diubah dengan namaAnda
Setting VirtualHost dengan Apache (Cont...)Setting VirtualHost dengan Apache (Cont...)
11. Buat direktori vhosts untuk meletakan logs dan tempat penyimpanan website yang
akan anda buat (public_html). Ketikkan perintah seperti gambar di bawah:
1. mkdir C:xamppvhosts
2. mkdir C:xamppvhostsapridilagiva
3. mkdir C:xamppvhostsapridilagivalogs
4. mkdir C:xamppvhostsapridilagivapublic_html
*nb. apridilagiva dapat diubah dengan namaAnda
Setting VirtualHost dengan Apache (Cont...)Setting VirtualHost dengan Apache (Cont...)
12. Buka notepad hosts dengan mengetikkan perintah:
notepad C:WindowsSystem32driversetchosts
Tambahkan: 127.0.0.1 namaAnda.com
pada notepad hosts.
Kemudian simpan.
Setting VirtualHost dengan Apache (Cont...)Setting VirtualHost dengan Apache (Cont...)
13. Start Apache pada Xampp.
Setting VirtualHost dengan Apache (Cont...)Setting VirtualHost dengan Apache (Cont...)
14. Lakukan pengujian pada Mozilla Firefox dengan mengetikkan apridilagiva atau
namaAnda.
Tampilan di atas membuktikan bahwa localhost anda berhasil.
Setting VirtualHost dengan Apache (Cont...)Setting VirtualHost dengan Apache (Cont...)
15.
16. 1. Buat folder sslcert di Local C dengan mengetikkan perintah nomor 1.
2. Masuk ke folder sslcert dengan mengetikkan perintah nomor 2.
3. Buat folder cert dan folder private di dalam folder sslcert dengan mengetikkan
perintah di bawah.
1. Persiapan1. Persiapan
17. 1. Persiapan (Cont...)1. Persiapan (Cont...)
1. Ketikan perintah: echo 100001 >serial (enter)
2. Ketikan perintah: copy con serial (enter)
100001 maka akan muncul pesan <Yes/No/All>: ketik All (enter)
lalu tekan ctrl + z (enter)
18. Buat sebuah berkas dengan nama certindex.txt untuk menampung daftar
sertifikat yang telah ditandatangani dengan mengetikkan notepad certindex.txt
1. Persiapan (Cont...)1. Persiapan (Cont...)
19. Buat konfigurasi OpenSSL, dengan perintah
notepad openssl.cnf
1. Persiapan (Cont...)1. Persiapan (Cont...)
Apabila muncul pesan
peringatan seperti pada
gambar sebelumnya,
maka klik Yes.
20. Agar anda bisa menandangani seluruh certificate request (CSR), terlebih dahulu
anda harus memiliki sebuah sertifikat (KEY, Private Key), dengan mengetikkan
perintah berikut pada folder sslcert, perintah:
C:xamppapachebinopenssl.exe req -new -x509 -extensions v3_ca
-keyout privateCAkey.pem -out CAcert.pem -days 3650 -config
./openssl.cnf
2. Membuat Sertifikat CA (2. Membuat Sertifikat CA (Certificate AuthorityCertificate Authority))
21. Masukkan pass phrase yang akan kita gunakan untuk sertifikat CA pada kotak
merah nomor 1.
2. Membuat Sertifikat CA (Cont...)2. Membuat Sertifikat CA (Cont...)
22. 2. Membuat Sertifikat CA (Cont...)2. Membuat Sertifikat CA (Cont...)
Akan muncul pemberitahuan bahwa harus memasukkan informasi yang dibutuhkan (kotak
merah nomor 2).
Masukkan informasi yang dibutuhkan dengan tanda [ ] yang telah ditandai dengan kotak
berwarna kuning (kotak merah nomor 3).
23. Agar bisa membuat sertifikat untuk localhost, untuk menggantikan sertifikat yang
dibuat oleh XAMPP, dan ditandatangani sendiri oleh kita dengan mengetikkan
perintah:
C:xamppapachebinopenssl req -new -nodes -out localhost-req.pem
-keyout private/localhost-key.pem -config ./openssl.cnf
3. Membuat Sertifikat Untuk LocalHost3. Membuat Sertifikat Untuk LocalHost
24. Masukkan kembali informasi yang dibutuhkan.
3. Membuat Sertifikat Untuk LocalHost (Cont...)3. Membuat Sertifikat Untuk LocalHost (Cont...)
25. Kali ini, kita menandatangani sertifikat request dari server localhost, dimana si
localhost ini telah memberikan berkas localhost-req.pem kepada kita.
Agar perintah ssl berjalan, maka dilakukan setting-an path agar dapat memasukkan
direktori C:xamppapachebin dengan mengetikkan perintah pada folder sslcert:
set path=C:xamppapachebin;%PATH%
4. Membuat Sertifikat Request4. Membuat Sertifikat Request
26. 4. Membuat Sertifikat Request (Cont...)4. Membuat Sertifikat Request (Cont...)
1. Masukkan pass phrase.
2. Ketikkan y.
3. Ketikkan y.
27. Pindahkan file CRT dengan nama localhost.crt.pem ke folder ssl.crt di Lokal
C:Xamppapacheconfssl.cert
5. Meletakkan CRT dan5. Meletakkan CRT dan KEYKEY ke Apacheke Apache
28. Pindahkan file Key dengan nama localhost-key.pem ke folder ssl.crt di Lokal
C:Xamppapacheconfssl.cert
5. Meletakkan CRT dan5. Meletakkan CRT dan KeyKey ke Apache (Cont...)ke Apache (Cont...)
29. 5. Meletakkan CRT dan5. Meletakkan CRT dan KeyKey ke Apache (Cont...)ke Apache (Cont...)
Ganti konfigurasi Apache agar bisa menggunakan sertifikat baru yang telah buat.
Konfigurasi yang harus diganti biasanya terletak di folder extra, cari berkas
httpd-ssl.conf
30. 5. Meletakkan CRT dan5. Meletakkan CRT dan KeyKey ke Apache (Cont...)ke Apache (Cont...)
Gambar di samping adalah konfigurasi
Apache yang telah di-setting dengan tanda
kotak berwarna merah.
Yang memiliki tanda # pada kotak berwarna
merah berarti comment.
Kemudian simpan.
Dan restart kembali Apache.
31. Install sertifikat public key CA (CAcert.pem) ke Mozilla Firefox.
a. Lakukan perintah sesuai urutan nomor.
6. Menginstall Sertifikat6. Menginstall Sertifikat Certificate AuthorityCertificate Authority
32. Import CAcert.pem yang berada di folder sslcert
6. Menginstall Sertifikat CA (Cont...)6. Menginstall Sertifikat CA (Cont...)
33. 1. Centang semua point pada tampilan Downloading Certificate.
2. Klik button view untuk melihat Certificate Viewer;*apridilagiva.com*
6. Menginstall Sertifikat CA (Cont...)6. Menginstall Sertifikat CA (Cont...)
34. Setelah menekan button OK pada Downloading Certificate, maka akan tampil
Certificate Manager.
6. Menginstall Sertifikat CA (Cont...)6. Menginstall Sertifikat CA (Cont...)
Jika ada tertera
apridilagiva.com, maka
Sertifikat CA pada
Mozilla Firefox berhasil.
Klik OK.
35. Lakukan testing pada Mozilla Firefox dengan mengetikkan https://localhost
pada pencarian mozilla. Dan lihat perbedaannya dengan localhost biasa.
*nb. kotak berwarna merah adalah https://localhost, sedangkan kotak berwarna kuning adalah localhost biasa.
6. Menginstall Sertifikat CA (Cont...)6. Menginstall Sertifikat CA (Cont...)
Notes de l'éditeur
Maksud perintah yang ditambahkan di atas adalah:
Meng-enable Name Based Virtual Host di port 80 untuk semua IP Address kita (*). ServerAdmin di sini adalah email admin yang nanti keluar kalau ada error pada VirtualHost kita.
Perintah yang penting di sini adalah ServerName dan ServerAlias: localhost disini artinya untuk VirtualHost ini jika orang mengakses localhost atau localhost.localdomain maka apache akan memberikan DocumentRoot &quot;C:/xampp/htdocs“
ServerAdmin pada &lt;VirtualHost *:80&gt;, apridila.as@gmail.com dapat diubah dengan namaAnda@gmail.com,
Include “conf/sites-enabled/*.conf” pada &lt;/VirtualHost&gt;. “conf/sites-enabled/*.conf” merupakan tempat penyimpanan *.conf nantinya.
Nb.
Akan muncul pesan peringatan dari notepad bahwa dia tidak bisa menemukan apridilagiva.conf karena file belum dibuat.
Klik yes untuk membuat file baru dengan nama apridilagiva.conf.
*nb.
Folder certs nantinya untuk menampung semua sertifikat yang dihasilkan,
Folder private untuk menyimpan semua private-key anda.
*nb.
100001 merupakan sebuah berkas bernama serial.
Berkas serial ini nantinya digunakan untuk otomatis memberi nomor serial untuk setiap sertifikat yang dihasilkan.
Copy-paste perintah di bawah untuk mengisi notepad openssl.cnf:
#
# OpenSSL configuration file.
#
# Establish working directory.
dir = .
[ ca ]
default_ca = CA_default
[ CA_default ]
serial = $dir/serial
database = $dir/certindex.txt
new_certs_dir = $dir/certs
certificate = $dir/cacert.pem
private_key = $dir/private/cakey.pem
default_days = 3650
#default_md = md5
default_md = sha1
preserve = no
email_in_dn = no
nameopt = default_ca
certopt = default_ca
policy = policy_match
[ policy_match ]
countryName = match
stateOrProvinceName = match
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
[ req ]
default_bits = 2048 # Size of keys
default_keyfile = key.pem # name of generated keys
#default_md = md5 # message digest algorithm
default_md = sha1 # message digest algorithm
string_mask = nombstr # permitted characters
distinguished_name = req_distinguished_name
req_extensions = v3_req
[ req_distinguished_name ]
# Variable name Prompt string
#------------------------- ----------------------------------
0.organizationName = Organization Name (company)
organizationalUnitName = Organizational Unit Name (department, division)
emailAddress = Email Address
emailAddress_max = 40
localityName = Locality Name (city, district)
stateOrProvinceName = State or Province Name (full name)
countryName = Country Name (2 letter code)
countryName_min = 2
countryName_max = 2
commonName = Common Name (hostname.com, IP, or your name)
commonName_max = 64
# Default values for the above, for consistency and less typing.
# Variable name Value
#------------------------ ------------------------------
0.organizationName_default = Universitas Islam Negeri Sultan Syarif Kasim
localityName_default = Pekanbaru
stateOrProvinceName_default = Riau
countryName_default = ID
[ v3_ca ]
basicConstraints = CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
[ v3_req ]
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash
*nb.
Pass phrase tidak ditampilkan saat memasukkannya, tidak ada tertera angka, huruf maupun simbol.
Jadi, disarankan untuk memasukkan pass phrase-nya jangan terlalu panjang, paling sedikit terdiri dari 4 biji.
*nb.
Setelah menyelesaikan dalam memasukkan informasi, berarti anda sudah memiliki sebuah kunci private untuk menandatangani sertifikat.
Kunci private tersebut disimpan di folder private, dengan nama CAkey.pem.
Adapun berkas CAcert.pem adalah sertifikat public kita yang nanti akan digunakan oleh client untuk menginstal sertifikat kita.
Dan pada saat inilah PKI dapat digunakan.
*nb.
pass phrase tidak akan diterakan pada tampilan.
pass phrase yang digunakan yang minimal terdiri 4 biji.
Selesai tahap ini, Anda akan memiliki sebuah CRT, localhost.crt.pem yang dapat Anda letakkan ke server localhost Anda.
Jangan lupa bahwa Apache juga membutuhkan private KEY untuk localhost ini.
*nb.
Mozilla Firefoz sendiri telah menggunakan database root CA.
*nb.
Tutorial Certificate Autority (CA) Public Key Infrastructure (PKI) Pada VirtualHost DAN SSL telah selesai.