What is JGPShell :
JGPShell : Java Global Platform Shell.
JGPShell provides a shell environment to manage smart cards. It is intended to deal with more than one smart card at the same time.
GPShell is a java api to manage content of smart cards in conformance with the Global Platform standard.
It implements a shell (terminal and swing gui) to execute commands on the cards. A minimal shell language
(including conditional and loop instructions) is also provided to execute a sequence of commands on the cards.
Many other features : can execute commands on many cards at the same time, can get the card list from a
MySQL? database...
JGPShell is still under development and no release version is available.
JGPShell features :
Elementary operations on smart cards :
1) Mutual authentication.
2) Displaying card content.
3) Uploading/Installing/deleting cap files.
4) Formating.
5) Selecting applications.
6) Sending APDU commands.
Shell environment :
The following "mini"
tutorial contains the list of the shell commands (This tutorial is still under development and may contains many errors !).
The shell environment allows :
1) Displaying list of the connected readers.
2) Definition of Session variables.
3) Connection to
MySql? database to retrieve card information.
4) Launching threaded jobs to deal with multiple cards at the same time.
Script environment :
JCGShell provides also a script languages. Scripts can be executed from the shell.
Sample example :
//This script connects to the first reader, does the mutual authentication and displays its content.
/connect 1
authenticate
ls
//This scrip install HelloWorld.cap into all connected readers.
//Installtion is done in a threaded mode.
for x 1 to $NB_READERS
{
/start -p $x
init-update
ext-auth
upload « c:/HelloWorld.cap »
install « c:/HelloWorld.cap »
/end
}
Future features
Currently we are working on the following features :
- Developing a graphic client.
- Improving the API core (APDU construction) and support more commands.
- Improving and testing the use of threads to execute operations in parallel in more than one card at the same time.
Download
This project is in its beginining and there is no release version yet ! You are welcome if you want to contribute (please contat us
here) or to test the API.
Version 0.0.2 (Not recommanded !) :
0.0.2
Last version :
0.0.3
JGPShell is hosted into the
Sourceforge website.
Licences
Used licences.
Developpers
This project has started as a school project. The first component was an API compatible with Global Platform specifications.
The shell environment is based on an improved version of this API.
Current developers :
-
Moez Ben MBarka (Engineering student, Computer science - Bordeaux, France)
Contributions
We are looking for more developers to join us. If you want to contribute please contact us
here.