[Smartsign-devel] JC Emulator integrated with PCSC-Lite
Status: Pre-Alpha
Brought to you by:
kefren
From: Tommaso C. <cuc...@ss...> - 2003-08-06 17:51:59
|
Tommaso Cucinotta wrote: > More details follow below. Sorry, I forgot details. Here they are. ====================================================================== JC-Emulator - Emulator for JavaCard 2.1.x smart cards. ====================================================================== Main developers: Paolo Grimaccia, Matteo Ferrari Coordinator: Tommaso Cucinotta <cuc...@ss...> Organization: Scuola Superiore Sant'Anna, Pisa - Italy ---------------------------------------------------------------------- DESCRIPTION ---------------------------------------------------------------------- JC-Emulator is an emulation environment for running, testing and debugging JavaCard Applets and JavaCard based solutions. Applets can be run within the emulator, without any need for real smart-cards. Morover, smart-card aware applications don't see any difference between an Applet running onto a real smart-card, and the one running in the emulator. This is achieved by integrating the emulation environment directly within the PCSC-Lite middleware layers. Specifically, JC-Emulator is composed of a virtual reader driver, namely libVirtualSCReader1.so, and the JavaCard emulator itself, that interacts with and runs user-written JavaCard Applets. Once installed inside PCSC-Lite, the virtual reader gives to the system a view of a "fake" smart-card serial reader, that actually gateways command APDUs to the emulator itself, which in turn passes them to the user Appplets. ---------------------------------------------------------------------- LICENSE ---------------------------------------------------------------------- This software is released under the GNU GENERAL PUBLIC LICENSE. See the file 'COPYING' for details. ---------------------------------------------------------------------- REQUIREMENTS ---------------------------------------------------------------------- - A Java CSP with RSA/DES/3DES Crypto capabilities. This needs to be statically installed into your Java installation tree. - IAIK Java CSP (a copy is contained in emulator/lib dir, at the moment). This does not need static installation, as it is dynamically loaded by the emulator. This software has been developed and tested using the "The Legion of Bouncy-Castle Java CSP". ---------------------------------------------------------------------- COMPILATION ---------------------------------------------------------------------- Go to ifd-handler. Type make. Go to main jc-emulator folder. Type make. ---------------------------------------------------------------------- USE ---------------------------------------------------------------------- 1. Copy compiled code of your JavaCard Applet into the 'applets' directory 2. Stop your pcscd daemon, if it is running 3. Install the virtual serial reader. Edit /etc/reader.conf, adding a reference to the ifd-handler/libVirtualSCReader1.so library. Specify '4000' as CHANNEL ID. This is the port number the server listens to. Check out the 'reader.conf' example file. 4. Launch the 'server.sh' script. This will emulate connection of a virtual serial reader to your PC. Note: this script will give several log messages on its STDOUT. 5. Start your pcscd daemon. 6. Launch the 'installer.sh' script. Just select the classes you want to install. 7. Use the server GUI interface to virtually insert a card. 8. Use your own smart-card aware application and enjoy. For further information, check out the 'doc' directory. ---------------------------------------------------------------------- DOCUMENTATION ---------------------------------------------------------------------- This project has been developed as part of a Thesis in Computer Engineering. The docs folder contains the original thesis in italian english only, sorry. And, there is this README file. ---------------------------------------------------------------------- NOTES ON SERIALIZATION ---------------------------------------------------------------------- Serialization is still experimental. Don't rely on it. In order to make it work with a JavaCard Applet, you must modify every class that is not derived from Applet, adding 'implements java.io.Serializable' into the class definition. Bye, Tommaso Cucinotta. -- ,------------------------------------------------. | Dr. Tommaso Cucinotta <t.c...@ss...> | >------------------------------------------------< ! Scuola Superiore di Studi Universitari ! ! e Perfezionamento S.Anna ! ! Pisa Italy ! `------------------------------------------------' |