Structured Card Query Language Interpreter is the project, that translates an SCQL command into Application Protocol Data Unit (APDU) call, as defined by ISO/IEC 7816-7 Interindustry commands for Structured Card Query Language (SCQL). Additionally, generated APDUs are sent to the Java Card Simulator via Socket.
scql-applet - is the project implementation of a database on a Java Smart Card Applet, defined by ISO/IEC 7816-7.
-
Make sure, that you have specified
JC_HOME_TOOLS
andJC_HOME_SIMULATOR
variables, installed from Oracle's Java Card Development Kit Simulator and Java Card Development Kit Tools; -
SCQL Interpreter project requires minimum Java 11+ version. Additionally, the project uses Gradle 8.2 with Kotlin DSL;
-
Clone repository and build the project by Gradle command.
./gradlew build
- Inside the root path
src/main/resources/
modify thecommand.scql
with custom SCQL commands and run the project. - In the same folder,
command_apdu.script
will be generated.
After the APDU script was generated, the communication process establishes between a Java Card Simulator and the Interpreter.
All communication is done via java.net.Socket
and Java Card com.sun.javacard.apduio
library.
Communication is going through localhost:9025
.
Applet AID:
FFFFFFFFFF/0102
Select Applet APDU command:
0x00 0xA4 0x04 0x00 0x07 0xFF 0xFF 0xFF 0xFF 0xFF 0x01 0x02 0x7F