Well, hi ! Apa kabar para cryptographer di segala penjuru tanah air…
Kali ini saya akan sedikit memasuki ranah Java Cryptography, tentunya tidak asing lagi bukan ? Saya akan membahas tentang Bouncycastle yang merupakan library Java Cryptography yang bersifat open source, silahkan cari lebih lanjut di http://www.bouncycastle.org
Bouncycastle ??? (*.*)7
Bagi rekan-rekan yang memang tertarik ke dunia programming dan juga dunia cryptography tentunya pasti dengan istilah Bouncycastle. Bouncycastle merupakan Java Cryptography APIs yang memiliki kapabilitas sebagai berikut :
- Merupakan sebuag cryptography API yang ringan,
- Sebuah provider untuk Java Cryptography Extension (JCE) dan Java Cryptography Architecture (JCA). Pengertian JCE dan JCA saya jelaskan lain waktu aja ya…
- Merupakan ‘clean room implementation’ untuk JCE 1.2.1,
- Merupakan library untuk membaca dan menulis objek-objek pada encoded ASN.1,
- Merupakan client-side TLS API yang ringan,
- Generator untuk Digital Certificate X.509 versi 1 dan versi 3, Certificate Revocation CRL versi 2 , dan juga file-file PKCS12. BTW kalau belum tahu, ini adalah atribut pada Public Key Infrastructure (PKI),
- Generator untuk atribut pada Digital Certificate X.509 versi 2,
- Generator/Processor untuk S/MIME and CMS (PKCS7/RFC 3852),
- Generator/Processor untuk OCSP (RFC 2560),
- Generator/Processor untuk TSP (RFC 3161),
- Generator/Processor untuk OpenPGP (RFC 2440),
- Membuat file jar yang telah di-signing, namun hanya ada di versi JDK 1.4-1.6 dan Sun JCE.
Jadi dengan adanya library ini, kita bisa memanfaatkan class-class cryptography tersebut untuk melakukan proses-proses kriptografi, seperti enkripsi, dekripsi, signing, digest, dan sebagainya tanpa harus men-coding-nya dari awal. Asyik kan ?
How To Install ??? (^,^)
Hehe, mungkin inilah pertanyaan yang paling menarik kemudian. Karena setting awal merupakan langkah awal dalam pendayagunaan library ini untuk kepentingan pembelajaran, sebagai newbie di bidang cryptography tentunya.
Pastinya sudah install JDK dan juga software Netbeans kan ? (Oh ya, penulis sendiri lebih akrab dengan Netbeans ketimbang Eclipse) Sekarang silahkan download crypto – 141.zip (atau seri yang terbaru juga boleh) dari website Bouncycastle kemudian di-unzip. Perlu diketahu bahwa file zip ini sudah berisi banyak file yang kita butuhkan, termasuk didalamnya JCE, provider, light weight API, J2ME, JDK1.2, JDK1.1, and class-class yang kompatibel pada JDK1.0, dan juga file jar yang sudah ter-signed. Kemudian ikuti langkah-langkah sebagai berikut :
- Misalkan file zip tersebut saya unzip di direktori F:\crypto-141, maka pada direktori F:\crypto-141\jars akan terdapat beberapa file jar dan pada direktori F:\crypto-141\zips akan terdapat tiga file zip.
- Copy file bcprov-jdk16-141 ke dua lokasi yang berbeda (BTW bcprov-jdk16-141 dipilih dari sekian file jar yang ada penulis meng-install J2SE 1.6.0_11.) : di lokasi J2SE SDK di C:\Program Files\Java\jdk1.6.0_11\jre\lib\ext, dan di lokasi J2SE RunTime di C:\Program Files\Java\jre6\lib\ext.
- Edit file java.security yang berada di dua lokasi yang berbeda : di lokasi J2SE SDK di C:\Program Files\Java\jdk1.6.0_11\jre\lib\security, dan di lokasi J2SE RunTime di C:\Program Files\Java\jre6\lib\security. Adapun edit yang dilakukan adalah berupa penambahan list provider yang digunakan, yaitu Bouncycastle, sebagaimana yang diilustrasikan pada gambar berikut :

- Yang terakhir, tes apakah provider tersebut telah benar-benar ter-install pada Netbeans anda, caranya :
import java.security.Security;
public class SimpleProviderTest {
public static void main (String[] arg){
String providerName = “BC”;
if (Security.getProvider(providerName) == null){
System.out.println(providerName + ” provider not installed”);}
else {
System.out.println(providerName + ” is installed”); }
}
}
Jika pada Command Console didapatkan hasil berupa “BC is installed”, maka bouncycastle telah selesai di-install. Congratz…


Terima kasih info dan penjelasan Bouncycastle-nya…
Sama-sama Bro…
Senang sekali rasanya bisa berbagi, BTW buat algoritma Rabin ada juga lho, tinggal diutak-atik aja…
tenkyu mbak…minta diliatin dong mbak, contooh projek2 java yang pake bouncy castle..
Okay, saya akan memberikan sedikit gambaran ttg bagaimana cara meng-import class dari library Bouncy Castle melalui source code buatan saya di link ini.
Karena ngga ada requirement yang jelas, jadi source code ini versi saya ya, hehe… harap maklum…
wuih , ini neh yang dicari, thanks berat
alhamdulillah… sama-sama ya, semoga postingan ini bermanfaat…
kapan neh penjelasan JCA dan JCE nya?
ditunggu lho, saya baca berkali2 ga mudeng2
Okeh deh Bro… berikutnya akan saya jelaskan mengenai JCA dan JCE di blog ini.. tunggu aja yah.. hehe..
mba..mantap blognya..
btw untuk simulasi di J2ME sudah di coba belum ya ?
mohon kalau ada info dan pencerahnnya mba…
terima kasih
Sorry baru balas…
Sudah pernah dicoba sih, tapi mba belum sempat bikin postingan tentang ini. Mudah-mudahan secepatnya bisa, mohon bersabar.. ^_^
Asslamu’alaikum wr. wb. mbak mau tanya, gimana kalo instal library bouncycastle untuk yang mobile. cos katanya berbeda sama yang aplikasi dekstop. trimakasih
Kalau library Bouncy Castle yang untuk mobile tinggal import library yang formatnya *.jar saja. Detailnya belum bisa saya berikan sekarang, mudah-mudahan dalam satu postingan tersendiri lain kali, maaf.
Assalamu’alaikum, mbak…mau tanya. gimana instal untuk yang library bouncycastle yangb berbasis mobile? thanks
assalamu’alaikum..
terimakasih atas tutorialnya semoga ini menjadi amal yang mulia di sisi ALLAH.SWT..
amiin..
mbak makasih untuk postingan yang sangat membantu ini.
^^
keep sharing . .
* oiya mbak, linknya dah gag ada lagi file nya.
kok masih gak bisa ya mbak ?
ak udah download bcprov-jdk16-146
trus udah ku ikutin prosedur instalnya…
waktu di test “BC provider not installed”
mohon bantuan nya…
Ah, masa sih ? Yang lain bisa koq… mungkin ente salah ketik atau ada yang terlewat prosesnya.
Dicoba lagi deh, pake Netbeans kan ?
Mbakkk,.
biar tau kita instalnya berhasil gmna ya mbak ??
source code yang mbak kasi di buat di netbeans atau command consolenya ???
Makasi mbak :d
Cara tahunya : jalankan sintaks di atas di satu file tersendiri, buat ngecheck. Source code itu dijalankan di Netbeans koq.
Selamat mencoba..
mbak documentasinya ada g??
saya bingung car manggil fungsi2 nya apa saja…
mathur nuwun….
Hmm, artinya harus paham alur di BC dengan cara eksplorasi class-class yang ada, caranya ekstrak aja .zip dari library-nya. Cara kedua, search ada code di forum-forum untuk cari tahu bagaimana cara codingnya.
Saya sendiri ngga pernah pake dokumentasi di library ini, monggo dicari kalau ada dan saya blm bisa memberikan clue untuk ini.
Sekian, makasih.
Info terbaru tentang cara setting library ada di sini :
http://reeshtea.wordpress.com/2011/11/29/how-to-setting-library-netbeans/
Semoga bermanfaat.
assalamualaikum…
mbak link di atas untuk download source nya kok ndak bisa ?
terima kasih atas info nya
Masa iya ngga bisa ? link mana ya yang dimaksud ? Atau coba deh cara baru untuk setting library Bouncycaste di sini : http://reeshtea.wordpress.com/2011/11/29/how-to-setting-library-netbeans/
Semoga bermanfaat…