Smartleia target applet for testing APDUs and cryptography.
This (Javacard) applet must be pushed to a Javacard compatible smart card, i.e. a smart card with a Javacard VM based Operating System.
You can check if your card is a Javacard using the commands java -jar gp.jar -i
for general information and java -jar gp.jar -l
to
list the content of the card. An exception/error on these commands will probably mean that your smart card is not a Javacard.
The purpose of the applet is to provide:
- Tests for APDU cases 1, 2, 3 and 4 (for short and extended APDUs), as well as time extensions. Please refer to the ISO7816-3 standard for more information on this.
- Tests for AES computations using the Javacard API.
The details of the APDU commands and expected responses are provided in the cmd.txt file, where the opensc tool is used as a command line way of cimmunicating with the smart card.
In order to compile the project, you will need java with JDK of version 8 or 11, this is a strong requirement from ant-javacard as reminded here. You can fetch OpenJDK versions from AdoptOpenJDK.
The 3.0.3 Javacard SDK (jc303_kit) (Javacard API 3.0.1) is also needed, and must be downloaded and put in the sdk folder. You can find Javacard SDKs for example here. Just drop the jc303_kit folder in it as explained in sdks/README.txt.
When this is done, you can compile the applet using a simple:
$ make
Pushing the applet uses the gp.jar
tool, and can be done using:
$ make push
ant-javacard.jar
is a courtesy of the ant-javacard open
source project.
gp.jar
is a courtesy of the GlobalPlatformPro
open source project.