An automated scanner for installed Java Card packages (Windows version)
JCVM consists of library packages as per specification by the Java Card Forum. Some of these packages are mandatory to be implemented in the Java Card, and some of the packages are optional. The decision for implementation of the optional packages lies with the manufacturer of the particular smart card family with Java Card platform. jcAIDScan tool is developed to detect the supported packages, classes and methods implemented in the examined Java Card.
-
Python 3.0.5 or higher
-
Notepad++ or Python IDE (to edit the code if needed)
-
Clone/ Download the "jcAIDScan" project.
-
If the smart card inserted needs "-emv" option, then before starting the tool, edit the jcAIDScan.py file as under:
(a) Comment - GP_AUTH_FLAG = ''
(b) Uncomment - # GP_AUTH_FLAG = '--emv'
-
By default, the detection tool scans for all classes (0 to 255) for every detected package. It is possible to give the single range or multiple ranges of the classes to be detected. Edit the jcAIDScan.py file's main() function to give the range of classes as per requirement.
-
Start the detection tool by using the following command in the command prompt: python jcAIDScan.py
-
Please read carefully the initial important information displayed after starting the tool before proceeeding with the detection process.
-
As the next step, the tool lists already installed applets in the smart card. Please proceed only if the installed applets are listed properly.
-
Please provide the name of the smart card and wait for the detection process to be finished. After the detection process is completed, CSV file containing the detected packages and classes is created (nameofthecard_ATR.csv).
- Reader not detected: Check the reader connectivity with the PC. If needed, reinstall the drivers.
- Applet list not displayed: (a) Check whether "-emv" option is required for the smart card. If yes then perform step 2 given in usage section. (b) Re-insert the smart card