arekinath / PivApplet

PIV applet for JavaCard 2.2.2 and 3.0.4+ with full ECDSA/ECDH support
111 stars 37 forks source link

Problems with applet running on macOS with virtual reader #22

Closed Grivus closed 5 years ago

Grivus commented 5 years ago

Hi! I'm trying to start the applet on macOS 10.14. I have the vsmartcard, jcardsim installed & built. The vsmartcard emulator is running, the vpcd-config shows:

VPCD hostname: 172.21.0.140 VPCD port: 35963

VPCD hostname: 172.21.0.140 VPCD port: 35964

Following the README I tried this: java -noverify -cp bin/:../jcardsim/target/jcardsim-3.0.5-SNAPSHOT.jar com.licel.jcardsim.remote.VSmartCard test/jcardsim.cfg

But I have an exception: Exception in thread "main" javacard.framework.SystemException at javacard.framework.SystemException.throwIt(Unknown Source) at com.licel.jcardsim.base.Simulator.loadApplet(Simulator.java:149) at com.licel.jcardsim.base.Simulator.(Simulator.java:117) at com.licel.jcardsim.base.Simulator.(Simulator.java:67) at com.licel.jcardsim.remote.VSmartCard.startThread(VSmartCard.java:82) at com.licel.jcardsim.remote.VSmartCard.(VSmartCard.java:38) at com.licel.jcardsim.remote.VSmartCard.main(VSmartCard.java:78)

The code on the exception place looks like: try { appletClass = requireExtendsApplet(cl.loadClass(appletClassName)); } catch (ClassNotFoundException ex) { SystemException.throwIt(SystemException.ILLEGAL_VALUE); }

I've found issue that looks like similiar with mine: https://github.com/arekinath/PivApplet/issues/12

but running the

java -noverify -cp ./src/:bin/:../jcardsim/target/jcardsim-3.0.5-SNAPSHOT.jar com.licel.jcardsim.remote.VSmartCard test/jcardsim.cfg as proposed also ends with same exception.

I've also tried the steps from https://github.com/OpenSC/OpenSC/wiki/Smart-Card-Simulation , but it does not even help to build the repo, emiting > 100 errors.

Any ideas, how could I overcome the problem? Should I additionally register the PIV class across vsmartcard?

Grivus commented 5 years ago

Ok, it seems I just forgot to run ant before the java -cp command.

This problem is gone now.