KELOMPOK 4 :
1. MUHAMMAD HAIKAL AZIZ (17076070)
2.
3.
4.
- Import java.io*;
- Import java.net.*;
- Import java.security.*;
- Import java. security.cert.*;
- Import javax.net..*;
- Import javax.net.ssl.*;
C. HTTPS/SSL
Banyak digunakan untuk mengamankan transaksi internet antara browser dengan web
server.Beberapa Lembaga yang menyediakan certificate SSL antara lain:
1. Versign, www.versign.com
2. Versign Business, www.verizonbusiness.com
3. Instant SSL, www.instantssl.com
1. Java HTTPS
Seperti diketahui, untuk menyederhanakan dalam penggunaan objek.Oleh karena
itu, baik HTTP dan HTTPS tidaklah dibedakan. Ketika kita memasukkan protokol
HTTPS,Java akan melakukan Instansiasi objek yang berbasis HTTPS.
Kita dapat memanfaatkan paket dibawah ini untuk mengakses HTTPS dan HTTPS.
- Import java.io*;
- Import java.net.*;
Untuk mengakses protocol HTTP, kita dapat memanfaatkan objek URL dan
HttpUrlConnection. Dua objek ini dapat melakukan adaptasi dimana ketika kita
memasukkan alamat https://alamat_website, maka kedua objekini akan
mengaktifkan obejek-objek berbasis https.
2. Java Apache
Cara Kedua untuk mengakses website HTTPS kita dapat memanfaatkan
komponen dari Apache yaitu HTTp Component.Seperti halnya metode akses
HTTPS melalui Java JDK dimana library ini secara implisit akan mendeteksi
apakah alamat website itu HTTPS atau tidak.Ini juga terjadi pada komponen HTTP
dari Apache.Pada solusi ini kita menggunakan objek HTTPClient dan HTTPGet
untuk eksekusi HTTPGET.
3. Java Socket
Realisasi socket SSL cukup berbeda dengan socket biasanya. Hal terpenting
adalah kita harus dapat menangkap certificate SSL yang diberikan oleh website
HTTPS. Pada java JDK kita dapat memanfaatkan SSLSocketFactory dan
SSLSocket.
D. HTTPS/SSL DENGAN CERTIFICATE YANG TIDAK VALID
Kalau diperhatikam kode program pada A,B, dan C semuanya lancer jika HTTPS yang
diterapkan pada website mempunyai SSL certificate yang valid. Namun bagaimana jika
ada website yang SSL certificate tidak valid. Jika tidak valid, browser akan
memoeringatkan oada user sehingga muncul pesan peringatan.
1. Modifikasi Java HTTPS dan Java Apache
Pada program pertama (SimpleHTTPS) error yang ditimbulkan akibat SSL
certificate yang tidak valid disebabkan karena objek URL melakukan validasi dan
menemukan SSL certificate yang tidak valid sehingga muncullah error tersebut.
Sedangkan pada kode program pertama, error yang timbuk karena ketika kita
melakukan proses instansiasi objek HttpClient melalui instasiasi objek
DefaultHttpClient().
2. Modifikasi Java Socket
Hal yang dilakukan adalah kita melakukan override agar semua SSL certificate
yang diproses dianggap valid semua oleh java.
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers{} {
return null;
}
@Override
public void checkClientTrusted{
java.security.cert.X509Certificate[] cert, String authType) {
}
@Override
public void checkServerTrusted{
java.security.cert.X509Certificate[] certs, String authType) {
}
}
};
E. FTPS
Seperti yang kita ketahui protocol FTP komunikasi datanya dapat dilihat
sehingga bila kita mengirim username dan password maka data tersebut dapat dilihat
pada perjalanannya.
Agar komunikasi data yang terjadi antara dan pada client pada FTP lebih aman
dalam artian tidak dapat dibaca oleh orang lain, kita dapat memanfaat secure FTP atau
dikenal FTPS melalui TLS. Protocol FTPS didasarkan pada dokumen RFC 4217.
1. Metode Akses
Megakses protocol FTPS berbeda dengan protocol FTP dalam hal
proses handshaking.secara umum ada metode untuk mengakses FTPS
Eksplisit
Implisit
Metode Eksplisit atau Metode dikenal dengan FTPES.implementasi
pada FTP client diharapkan menyadari ini protocol FTP tanpa mengubah
perintah-perintah umum FTP. FTP client secara Eklsplisit harus
menyetujuin metode enkripsi yang diinformasikan oleh FTPS server. Cara
akses FTPES didasarkan pada dokumen RFC 2228 dimana ada perintah
baru yaitu AUTH. Perintah ini ada cara yaitu AUTH TLS dan AUTH SSL.
Dokumen RFC 4217 menjelaskan bagaimana mengakses AUTH TLS.
Sedangkan Metode Implisit FTPS atau FTPS implicit tidak ada proses
negosiasi konfigurasi FTPS. FTP client akan melakukan akses dengan FTPS
server melalui TLS/SSL ClientHello.biasanya port yang digunakan adalah
TCP 990 untuk FTPS control dan TCP 989 untuk FTPS data Channel.
2. FTPS Server
Kita dapat melakukan konfigurasi melalui FileZilla server interface.
3. Membuat Program Java FTPS
Kita akan menggunakan komponen pihak ketiga yaitu apache commons
net untuk mengakses protocol FTPS.sedangkan FTPS server yang akan
digunakan adalah FileZilla server . pembaca juga dapat menggunakan FTPS
server lainnya. Untuk mengakses protocol FTPS dapat menggunakan objek
FTPSClient. Sedangkan paket Java yang digunakan adalah:
Import java.io.*;
Import java.net.*;
Import org .apache.commons.net.ftp.*;