HowTo : Setting Library Bouncycastle

5 11 2009

Well, hi ! Apa kabar para cryptographer di segala penjuru tanah air…  :D  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 :

  1. 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.
  2. 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.
  3. 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 :     bouncycastle_1
  4. 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… :D

Advertisement

Actions

Information

24 responses

28 11 2009
zakimath

Terima kasih info dan penjelasan Bouncycastle-nya… :D

29 11 2009
reeshtea

Sama-sama Bro… :D
Senang sekali rasanya bisa berbagi, BTW buat algoritma Rabin ada juga lho, tinggal diutak-atik aja…

7 12 2009
mas joko

tenkyu mbak…minta diliatin dong mbak, contooh projek2 java yang pake bouncy castle..

10 12 2009
reeshtea

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…

11 12 2009
tafta

wuih , ini neh yang dicari, thanks berat

14 12 2009
reeshtea

alhamdulillah… sama-sama ya, semoga postingan ini bermanfaat… :)

15 12 2009
tafta

kapan neh penjelasan JCA dan JCE nya?
ditunggu lho, saya baca berkali2 ga mudeng2 :P

16 12 2009
reeshtea

Okeh deh Bro… berikutnya akan saya jelaskan mengenai JCA dan JCE di blog ini.. tunggu aja yah.. hehe.. :D

19 02 2010
newbee

mba..mantap blognya..
btw untuk simulasi di J2ME sudah di coba belum ya ?
mohon kalau ada info dan pencerahnnya mba…

terima kasih

30 03 2010
reeshtea

Sorry baru balas…
Sudah pernah dicoba sih, tapi mba belum sempat bikin postingan tentang ini. Mudah-mudahan secepatnya bisa, mohon bersabar.. ^_^

29 03 2010
zaza

Asslamu’alaikum wr. wb. mbak mau tanya, gimana kalo instal library bouncycastle untuk yang mobile. cos katanya berbeda sama yang aplikasi dekstop. trimakasih

30 03 2010
reeshtea

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.

29 03 2010
zaza

Assalamu’alaikum, mbak…mau tanya. gimana instal untuk yang library bouncycastle yangb berbasis mobile? thanks

14 10 2010
dody

assalamu’alaikum..
terimakasih atas tutorialnya semoga ini menjadi amal yang mulia di sisi ALLAH.SWT..
amiin..

2 03 2011
eLi

mbak makasih untuk postingan yang sangat membantu ini.
^^
keep sharing . .
* oiya mbak, linknya dah gag ada lagi file nya.

12 04 2011
doy

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…

13 04 2011
reeshtea

Ah, masa sih ? Yang lain bisa koq… mungkin ente salah ketik atau ada yang terlewat prosesnya.
Dicoba lagi deh, pake Netbeans kan ?

12 04 2011
defrina

Mbakkk,.
biar tau kita instalnya berhasil gmna ya mbak ??
source code yang mbak kasi di buat di netbeans atau command consolenya ???

Makasi mbak :d

13 04 2011
reeshtea

Cara tahunya : jalankan sintaks di atas di satu file tersendiri, buat ngecheck. Source code itu dijalankan di Netbeans koq.
Selamat mencoba.. ;)

27 06 2011
Franky

mbak documentasinya ada g??
saya bingung car manggil fungsi2 nya apa saja…
mathur nuwun….

29 06 2011
reeshtea

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.

29 11 2011
Restia Priwardani

Info terbaru tentang cara setting library ada di sini :

http://reeshtea.wordpress.com/2011/11/29/how-to-setting-library-netbeans/

Semoga bermanfaat.

20 01 2012
kellyyy

assalamualaikum…

mbak link di atas untuk download source nya kok ndak bisa ?

terima kasih atas info nya

20 01 2012
Restia Priwardani

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…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s




Follow

Get every new post delivered to your Inbox.