Tutorial membuat sertifikat ssl menggunakan xampp

43
TUTORIAL MEMBUAT SERTIFIKAT SSL MENGGUNAKAN XAMPP Yoga Pratama Putra Dosen Pembimbing : Muhammad Jazman, S.Kom., M.Info.Sys.

Transcript of Tutorial membuat sertifikat ssl menggunakan xampp

Page 1: Tutorial membuat sertifikat ssl menggunakan xampp

TUTORIAL MEMBUAT SERTIFIKAT SSL

MENGGUNAKAN XAMPPYoga Pratama Putra

Dosen Pembimbing : Muhammad Jazman, S.Kom., M.Info.Sys.

Page 2: Tutorial membuat sertifikat ssl menggunakan xampp

INTRODUCTION

SSL memastikan data transaksi yang terjadi secara online di enkripsi/acak sehingga tidak dapat dibaca oleh pihak lain. Kegunaan utamanya adalah untuk menjaga keamanan dan kerahasiaan data ketika melakukan transaksi.

Alasan utama mengapa menggunakan SSL adalah untuk menjaga informasi sensitif selama dalam proses pengiriman melalui Internet dengan cara dienkripsi, sehingga hanya penerima pesan yang dapat memahami dari hasil enkripsi tersebut. Hal ini sangat penting, karena informasi yang kita kirimkan di Internet membutuhkan proses perjalanan dari komputer ke komputer sampai mencapai server tujuan.

Dalam pembuatan SSL pada xampp, penulis menggunakan sebuah virtual host untuk membuat domain yang berbeda dari localhost. Jadi nantinya kita akan memiliki 2 domain utama yaitu localhost dan domain virtual host yang akan kita buat.

Page 3: Tutorial membuat sertifikat ssl menggunakan xampp

LANGKAH – LANGKAH MEMBUAT VIRUTAL HOST

Buka Command Prompt sebagai admnistrator

STEP 1

Page 4: Tutorial membuat sertifikat ssl menggunakan xampp

Setelah kita berhasil menjalankan CMD, maka kita lakukan pengujian dengan menjalankan perintah SET US, perintah SET US disini gunanya hanya untuk menampilkan Environment Variable yang dimulai dengan huruf US

STEP 2

Page 5: Tutorial membuat sertifikat ssl menggunakan xampp

Kita akan membuat sebuah DNS baru pada Microsoft Windows, dengan cara :

C:\Windows\System32\drivers\etc\hosts

STEP 3

Page 6: Tutorial membuat sertifikat ssl menggunakan xampp

NEXT..

Jika berhasil maka perintah akan otomatis membuka file di notepad.

Lalu tambahkan DNS baru pada baris paling bawah, seperti pada gambar – SAVE.

Page 7: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 3

Setelah anda menyimpan konfigurasi, maka langkah selanjutnya melakukan testing pada DNS yang anda buat. Dengan cara

Page 8: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 4

Tambahkan settingan pada berkas httpd.conf yang berada di folder xampp

*Note :Sesuaikan lokasi xammp, dengan lokasi anda menginstall xampp.

Page 9: Tutorial membuat sertifikat ssl menggunakan xampp

NEXT..

Jika berhasil maka akan membuka file httpd.conf seperti pada gambar, lalu tambahkan teks berikut pada baris akhir :

NameVirtualHost *:80<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "C:/xampp/htdocs" ServerName localhost ServerAlias localhost.localdomain ErrorLog "logs/localhost.error.log" CustomLog "logs/localhost.access.log" combined</VirtualHost>Include "conf/sites-enabled/*.conf"

Page 10: Tutorial membuat sertifikat ssl menggunakan xampp

NEXT...

Maksud perintah sebelumnya adalah mengaktifkan 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 adalah sebagai domain untuk virtualhost jika mengakases localhost atau localhost.localdomain maka apache akan otomatis memberikan file yang ada pada DocumentRoot.

Page 11: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 5

1. kita akan membuat sebuah folder “sites-enabled”, yang berfungsi sebagai tempat kita menyimpan konfigurasi DNS VirtualHost kita.

2. Kita akan membuat file untuk konfigurasi DNS VirtualHost yang akan disimpan pada folder sites-enabled.

Page 12: Tutorial membuat sertifikat ssl menggunakan xampp

NEXT..

Jika muncul pemberitahuan seperti pada gambar disamping, maka klik ‘yes’.Selanjutnya masukkan perintah berikut ini : <VirtualHost *:80>

ServerAdmin [email protected] DocumentRoot "C:/xampp/vhosts/yoga.putra/public_html" ServerName yoga.putra ServerAlias www.yoga.putra ErrorLog "C:/xampp/vhosts/yoga.putra/logs/error.log" CustomLog "C:/xampp/vhosts/yoga.putra/logs/access.log" combined </VirtualHost><Directory "C:/xampp/vhosts/yoga.putra/public_html"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory>

Page 13: Tutorial membuat sertifikat ssl menggunakan xampp

NEXT...

Maka hasilnya seperti pada gambar disamping.

Page 14: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 6

Buatlah 3 folder baru dengan perintah sbg berikut :

1. mkdir C:\xampp\vhosts2. mkdir C:\xampp\vhosts\yoga.putra3. mkdir C:\xampp\vhosts\yoga.putra\logs4. mkdir C:\xampp\vhosts\yoga.putra\public_html

Page 15: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 7

Sekarang, restart Apache pada xampp Anda dengan menekan tombol Stop, tunggu sebentar, lalu start. Jika belum dijalankan, cukup klik tombol start saja.

Page 16: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 8

Jika semua proses berhasil maka kita akan memiliki 2 DNS yaitu, localhost dan VirtualHost kita, seperti pada gambar :

Tampilan localhost

Page 17: Tutorial membuat sertifikat ssl menggunakan xampp

NEXT..

Tampilan DNS VirtualHost

Untuk mengisi tampilan virtual host Anda, maka anda cukup copy dan paste file website yang anda miliki ke folder “C:/vhosts/yoga.putra/public_html”

Page 18: Tutorial membuat sertifikat ssl menggunakan xampp

LANGKAH – LANGKAH MEMBUAT SSL

1. Perisapan2. Membuat Sertifikat CA3. Membuat Sertifikat Untuk Client4. Menandatangani Sertifikat Request5. Meletakan CRT dan Key ke Apache6. Menginstall sertifikat CA

Page 19: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 1 : PERSIAPAN

Buka cmd dan masuk ke direktori C:

Page 20: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 2

Buat folder baru yang bernama “sslcert” Lalu masuk ke folder tersbut :

Page 21: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 3

Buatlah folder baru kembali yang bernama “certs private”, folder certs ini berfungsi sebagai tempat penyimpanan semua sertifikat dan private berfungsi sebagai penyimpanan private key.

Page 22: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 4

Sekarang buat sebuah berkas bernama serial, dan isi dengan 100001. Berkas serial ini nantinya digunakan untuk otomatis memberi nomor serial untuk setiap sertifikat yang dihasilkan.

ketikan perintah : echo 100001 >serial (enter)selanjutnya ketikan : copy con serial (enter)

100001 maka akan muncul pesan <Yes/No/All> :ketik All (enter)

lalu tekan ctrl + z (enter)

Page 23: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 5

Buat sebuah dile baru bernama “certindex.txt”ketikan perintah notepad certindex.txt (enter)

Hasil perintah tersebutuntuk menampung daftar sertifikat yang

telah kita tandatangani. Jadi biarkan kosong

Page 24: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 6

Kemudia buatlah sebuah file baru yang bernama “openssl.cnf”

Masukkan semua teks yang ada pada slide berikutnya

Page 25: Tutorial membuat sertifikat ssl menggunakan xampp

## OpenSSL configuration file.## Establish working directory. dir = .[ ca ]default_ca = CA_default [ CA_default ]serial = $dir/serialdatabase = $dir/certindex.txtnew_certs_dir = $dir/certscertificate = $dir/cacert.pemprivate_key = $dir/private/cakey.pemdefault_days = 3650#default_md = md5default_md = sha1preserve = noemail_in_dn = nonameopt = default_cacertopt = default_capolicy = policy_match [ policy_match ]countryName = matchstateOrProvinceName = matchorganizationName = matchorganizationalUnitName = optionalcommonName = supplied

emailAddress = optional

[ req ]default_bits = 2048 # Size of keysdefault_keyfile = key.pem # name of generated keys#default_md = md5 # message digest algorithmdefault_md = sha1 # message digest algorithmstring_mask = nombstr # permitted charactersdistinguished_name = req_distinguished_namereq_extensions = v3_req [ req_distinguished_name ] # Variable name Prompt string#------------------------- ----------------------------------0.organizationName = Organization Name (company)organizationalUnitName = Organizational Unit Name (department, division)emailAddress = Email AddressemailAddress_max = 40localityName = Locality Name (city, district)stateOrProvinceName = State or Province Name (full name)countryName = Country Name (2 letter code)countryName_min = 2countryName_max = 2commonName = Common Name (hostname.com, IP, or your name)commonName_max = 64

Lanjutan

Page 26: Tutorial membuat sertifikat ssl menggunakan xampp

# Default values for the above, for consistency and less typing.# Variable name Value#------------------------ ------------------------------0.organizationName_default = Universitas Islam Negeri Sultan Syarif KasimlocalityName_default = PekanbarustateOrProvinceName_default = RiaucountryName_default = ID [ v3_ca ]basicConstraints = CA:TRUEsubjectKeyIdentifier = hashauthorityKeyIdentifier = keyid:always,issuer:always [ v3_req ]basicConstraints = CA:FALSEsubjectKeyIdentifier = hash

Lanjutan

Hasil script tersebut

Page 27: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 7 : MEMBUAT SERTIFIKAT CA

Ketikan perintah berikut :C:\xampp\apache\bin\openssl.exe req -new -x509 -extensions v3_ca -keyout private\CAkey.pem -out CAcert.pem -days 3650 -config ./openssl.cnf (enter)

Page 28: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 8

Kemudian masukkan Password yang akan kita gunakan sebagai CA.

Page 29: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 9Setelah berhasil memasukkan password CA maka kita akan diminta untuk mengisi data berikut :

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

-----

Organization Name (company) [Universitas Islam Negeri Sultan Syarif Kasim]:

Organizational Unit Name (department, division) []:SIF2014Email Address []:[email protected] Name (city, district) [Pekanbaru]:

State or Province Name (full name) [Riau]:

Country Name (2 letter code) [ID]:Common Name (hostname.com, IP, or your name) []:yoga.putra.com

Anda bisa sesuaikanAnda bisa sesuaikan

Anda bisa sesuaikan

Page 30: Tutorial membuat sertifikat ssl menggunakan xampp

NEXT..

Contoh gambar :

Page 31: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 10 : MEMBUAT SERTIFIKAT CLIENT

ketikan perintah berikut ini :C:\xampp\apache\bin\openssl req -new -nodes -out localhost-req.pem -keyout private/localhost-key.pem -config ./openssl.cnf (enter)

Jika anda ingin membuat client baru, Anda cukup mengganti seluruh nama“localhost” menjadi nama DNS anda

Page 32: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 11

Kemudian isilah informasi tersebut :

Organization Name (company) [Universitas Islam Negeri Sultan Syarif Kasim]:Organizational Unit Name (department, division) []:IT DepartmentEmail Address []:[email protected] Name (city, district) [Pekanbaru]:State or Province Name (full name) [Riau]:Country Name (2 letter code) [ID]:Common Name (hostname.com, IP, or your name) []:localhost

Page 33: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 12 : MENANDATANGANI SERTIFIKAT

Biasanya perintah ssl tidak akan berjalan jika kita belum melakukan setting path, maka ketikan text berikut untuk mengaktifkan path :set path=C:\xampp\apache\bin;%PATH% (enter)

Page 34: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 13

Selanjutnya kita akan menandatangani sertifikat requestopenssl ca -out localhost.crt.pem -config ./openssl.cnf -infiles localhost-req.pem (enter)

Jika anda ingin menandatangani sertifikat lainnya, anda cukup mengganti seluruh nama “localhost” dengan DNS anda.

Page 35: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 14

Jika langkah sebelumnya berhasil, maka selanjutnya kita akan memindahkan file CRT dan KEY ke Apache pada xampp. *sesuaikan lokasi xampp anda

Page 36: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 15

Kemudian edit pengaturan pada “httpd-ssl.conf”

Page 37: Tutorial membuat sertifikat ssl menggunakan xampp

NEXT..

Edit semua file yang telah diblock sesuai dengan sertifikat yang anda miliki. Lalu restart Apache pada xampp.

Page 38: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 16 : MENGINSTALL SERTIFIKAT CA

Selanjutnya kita akan menginstall sertifikat CA pada browser.

Disini saya menggunakan Mozilla Firefox V. 48.0.2

Buka browser pilih menu sepert pada gambar Option

Page 39: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 17

Selanjutnya pilih Advanced Certificates View Certificates

Page 40: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 18

Lalu installkan sertifikat anda dengan mengimport sertifikat yang anda miliki.

Disini saya menginstall sertifikat “yoga.putra”

Page 41: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 19

Setelah berhasil kita dapat melihat informasi mengenai sertifikat yang kita miliki dengan klik tombol View.

Page 42: Tutorial membuat sertifikat ssl menggunakan xampp

STEP 20

Meskipun kita telah menginstall sertifikat ke browser tetap saja koneksi https kita akan dibaca koneksi yang tidak aman. Namun itu tidak masalah, lebih baik dari pada pemberitahuan eror yang anda terima.

Page 43: Tutorial membuat sertifikat ssl menggunakan xampp

SEKIANTerima Kasih