Kompilasi OCFPCSC di Ubuntu
OCFPCSC? Singkat aja, OCF atau OpenCard Framework adalah sebuah framework di Java untuk mengakses smartcard. Sedangkan PC/SC adalah (dari wikipedia aja ya :P)..
PC/SC is a specification for SmartCard integration in computing environment.
OCF ini bisa mengakses smartcard reader melalui 2 cara. Melalui PC/SC ini dan langsung via serial port. Kalau mau menggunakan PC/SC, perlu ada sebuah perantara yang bernama OCFPCSC ini. OCFPCSC ini diimplementasikan menjadi sebuah JNI (Java Native Interface) yang dapat diakses oleh Java dan OCFPCSC ini sendiri akan mengakses library PC/SC pada sistem.
Kompilasi OCFPCSC ini ternyata membutuhkan beberapa modifikasi pada Makefile sehingga akhirnya OCFPCSC ini dapat terkompilasi dengan benar dan terhubung dengan library PC/SC maupun Java.
Berikut ini adalah tahapan kompilasinya.
Download OCFPCSC dari http://www.linuxnet.com/middleware/files/OCFPCSC1-0.0.1.tar.gz
$ wget http://www.linuxnet.com/middleware/files/OCFPCSC1-0.0.1.tar.gzExtract file tersebut
$ tar xzf OCFPCSC1-0.0.1.tar.gzMasuk ke direktori
OCFPCSC1-0.0.1dan ubah fileMakefile$ cd OCFPCSC1-0.0.1 $ vi MakefileUbah bagian atas file
Makefiletersebut.SEBELUM
CC = g++ LD = ld -export-dynamic OBJS := $(patsubst %.cpp,%.o,$(wildcard *.cpp)) JDK_HOME = /home/corcoran/jdk117_v3 PCSC_HDRS = -I/usr/local/pcsc/include PCSC_LIBS = -L/usr/local/pcsc/lib -lpcsclite INCLUDE = -I$(JDK_HOME)/include -I$(JDK_HOME)/include/genunix $(PCSC_HDRS) LIBNAME = libOCFPCSC1.soSESUDAH
CC = g++ LD = ld -export-dynamic OBJS := $(patsubst %.cpp,%.o,$(wildcard *.cpp)) JDK_HOME = /usr/lib/jvm/java-1.5.0-sun PCSC_HDRS = -I/usr/include/PCSC PCSC_LIBS = -L/usr/lib -lpcsclite -lstdc++ -L/usr/lib/gcc/i486-linux-gnu/4.1.2 INCLUDE = -I$(JDK_HOME)/include -I$(JDK_HOME)/include/linux $(PCSC_HDRS) LIBNAME = libOCFPCSC1.soSatu perubahan yang (sepertinya) tidak-semua-orang-tahu (termasuk saya) ada pada bagian
PCSC_LIBS. Perlu ada penambahan opsi-lstdc++ -L/usr/lib/gcc/i486-linux-gnu/4.1.2. Saya mendapatkan informasi ini dari sebuah milis *lupa milisnya*Compile
$ make g++ -c fieldIO.cpp -I/usr/lib/jvm/java-1.5.0-sun/include -I/usr/lib/jvm/java-1.5.0-sun/include/linux -I/usr/include/PCSC g++ -c OCFPCSC1.cpp -I/usr/lib/jvm/java-1.5.0-sun/include -I/usr/lib/jvm/java-1.5.0-sun/include/linux -I/usr/include/PCSC g++ -c PcscContexts.cpp -I/usr/lib/jvm/java-1.5.0-sun/include -I/usr/lib/jvm/java-1.5.0-sun/include/linux -I/usr/include/PCSC g++ -c PcscExceptions.cpp -I/usr/lib/jvm/java-1.5.0-sun/include -I/usr/lib/jvm/java-1.5.0-sun/include/linux -I/usr/include/PCSC g++ -c Tracer.cpp -I/usr/lib/jvm/java-1.5.0-sun/include -I/usr/lib/jvm/java-1.5.0-sun/include/linux -I/usr/include/PCSC ld -export-dynamic -Bsymbolic -shared fieldIO.o OCFPCSC1.o PcscContexts.o PcscExceptions.o Tracer.o -L/usr/lib -lpcsclite -lstdc++ -L/usr/lib/gcc/i486-linux-gnu/4.1.2 -lc -o libOCFPCSC1.soPindahkan JNI library ke direktori library milik Java
$ sudo cp libOCFPCSC1.so /usr/lib/jvm/java-1.5.0-sun/jre/lib/i386/
Yap.. sekian saja tutorial kali ini.. mudah2an membantu (sekaligus menjadi catatan pribadi sih.. hehehe)
*mark as starred*
kasih tutorial yang JPCSC dong :D
*eh kok gw mesti login dolo sih kalo mo komen di sini :( *
@joolean: login apaan? emang lu bisa login?
waku gw mo masukin komentar dengan data2 sbb:
nama: joolean
e-mail: email-default-gw-di-gmail
homepage: julian.web.id
ada error message: The name you used belongs to a registered user.
jadinya gw masukin input yang laen deh :D
oh mungkin lo pernah daptar di sini :P user2nya gw apus2in ahh :D
maaf sebelumnya ....
saya ingin minta source code aplikasi java smartcard .....
jika boleh ..... thx sebelumnya
wah saya ngga punya. Yang sebelumnya saya buat kan menjadi hak milik UI bukan saya :)
pernah dapet kartu yg smart card yg memory card ga kaya sle 4418/28, bisa ga sih nulis pake ocf ???? klo bisa tolong kasih petunjuk gmn, soalnya gw selalu gagal.