Philipp Maier
ba0cd07c44
We do not have any build instructions in our README.md file yet. Let's add some information about the basic steps that are needed to build the applets. Related: OS#6069 |
||
---|---|---|
exp/sim | ||
hello-stk | ||
imsi-change | ||
lib | ||
oracle_javacard_sdks@e305a1a0b9 | ||
.gitignore | ||
.gitmodules | ||
README.md | ||
build.xml |
README.md
SIM Toolkit Examples
Various example Java SIM Toolkit applications. You typically install them using the tools from the http://git.osmocom.org/sim/sim-tools/ repository.
For more information see https://osmocom.org/projects/cellular-infrastructure/wiki/Shadysimpy
Build requirements
Install a JAVA compiler and ANT:
$ sudo apt-get install default-jdk ant
Download the Javacard SDKs into the (empty) directory oracle_javacard_sdks
$ git submodule update --init --recursive
There is also another component "ant-javacard.jar", which is automatically downloaded during the build process.
Building CAP files
The build process is started by calling ANT
$ ant
Buildfile: /home/owner/work/git_master/hello-stk/build.xml
dist:
[get] Getting: https://github.com/martinpaljak/ant-javacard/releases/latest/download/ant-javacard.jar
[get] To: /home/owner/work/git_master/hello-stk/ant-javacard.jar
[get] https://github.com/martinpaljak/ant-javacard/releases/latest/download/ant-javacard.jar moved to https://github.com/martinpaljak/ant-javacard/releases/download/v23.08.29/ant-javacard.jar
[get] https://github.com/martinpaljak/ant-javacard/releases/download/v23.08.29/ant-javacard.jar moved to https://objects.githubusercontent.com/github-production-release-asset-2e65be/28853876/2cb87380-f21f-45e7-894e-54ca5a3513d0?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230906%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230906T085907Z&X-Amz-Expires=300&X-Amz-Signature=d16ac3b8e6a53831e85ec8315daa51b90f0ccfc09dcfd55d76bd8ff416a0651c&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=28853876&response-content-disposition=attachment%3B%20filename%3Dant-javacard.jar&response-content-type=application%2Foctet-stream
[cap] INFO: using JavaCard 3.0.5 SDK in /home/owner/work/git_master/hello-stk/oracle_javacard_sdks/jc305u3_kit with JDK 11
[cap] INFO: targeting JavaCard 2.2.1 SDK in /home/owner/work/git_master/hello-stk/oracle_javacard_sdks/jc221_kit
[cap] INFO: Setting package name to org.toorcamp.HelloSTK
[cap] Building CAP with 1 applet from package org.toorcamp.HelloSTK (AID: D07002CA44)
[cap] org.toorcamp.HelloSTK.HelloSTK D07002CA44900101
[compile] Compiling files from /home/owner/work/git_master/hello-stk/hello-stk
[compile] Compiling 1 source file to /home/owner/work/git_master/hello-stk/build/classes
[compile] /home/owner/work/git_master/hello-stk/hello-stk/src/org/toorcamp/HelloSTK/HelloSTK.java
[convert] [ INFO: ] Converter [v3.0.5]
[convert] [ INFO: ] Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
[convert]
[convert]
[convert] [ INFO: ] conversion completed with 0 errors and 0 warnings.
[verify] Verification passed
[cap] CAP saved to /home/owner/work/git_master/hello-stk/build/HelloSTK.cap
[cap] INFO: using JavaCard 3.0.5 SDK in /home/owner/work/git_master/hello-stk/oracle_javacard_sdks/jc305u3_kit with JDK 11
[cap] INFO: targeting JavaCard 2.2.1 SDK in /home/owner/work/git_master/hello-stk/oracle_javacard_sdks/jc221_kit
[cap] INFO: Setting package name to org.osmocom.IMSIChange
[cap] Building CAP with 1 applet from package org.osmocom.IMSIChange (AID: D07002CA44)
[cap] org.osmocom.IMSIChange.IMSIChange D07002CA44900102
[compile] Compiling files from /home/owner/work/git_master/hello-stk/imsi-change
[compile] Compiling 3 source files to /home/owner/work/git_master/hello-stk/build/classes
[compile] /home/owner/work/git_master/hello-stk/imsi-change/src/org/osmocom/IMSIChange/Bytes.java
[compile] /home/owner/work/git_master/hello-stk/imsi-change/src/org/osmocom/IMSIChange/IMSIChange.java
[compile] /home/owner/work/git_master/hello-stk/imsi-change/src/org/osmocom/IMSIChange/MobileIdentity.java
[compile] /home/owner/work/git_master/hello-stk/imsi-change/src/org/osmocom/IMSIChange/IMSIChange.java:83: warning: [cast] redundant cast to byte
[compile] proHdlr.appendTLV((byte)(TAG_DEFAULT_TEXT), (byte)4, prefillVal, (short)0,
[compile] ^
[compile] /home/owner/work/git_master/hello-stk/imsi-change/src/org/osmocom/IMSIChange/IMSIChange.java:134: warning: [cast] redundant cast to short
[compile] gsmFile.select((short) SIMView.FID_DF_GSM);
[compile] ^
[compile] /home/owner/work/git_master/hello-stk/imsi-change/src/org/osmocom/IMSIChange/IMSIChange.java:135: warning: [cast] redundant cast to short
[compile] gsmFile.select((short) SIMView.FID_EF_IMSI);
[compile] ^
[compile] /home/owner/work/git_master/hello-stk/imsi-change/src/org/osmocom/IMSIChange/IMSIChange.java:145: warning: [cast] redundant cast to short
[compile] gsmFile.select((short) SIMView.FID_DF_GSM);
[compile] ^
[compile] /home/owner/work/git_master/hello-stk/imsi-change/src/org/osmocom/IMSIChange/IMSIChange.java:146: warning: [cast] redundant cast to short
[compile] gsmFile.select((short) SIMView.FID_EF_IMSI);
[compile] ^
[compile] /home/owner/work/git_master/hello-stk/imsi-change/src/org/osmocom/IMSIChange/IMSIChange.java:173: warning: [cast] redundant cast to byte
[compile] proHdlr.init((byte)PRO_CMD_REFRESH, SIM_REFRESH_SIM_INIT_FULL_FILE_CHANGE, DEV_ID_ME);
[compile] ^
[compile] /home/owner/work/git_master/hello-stk/imsi-change/src/org/osmocom/IMSIChange/MobileIdentity.java:41: warning: [cast] redundant cast to byte
[compile] byte nibble = bcd[(byte)nibble_i >> 1];
[compile] ^
[compile] 7 warnings
[convert] [ INFO: ] Converter [v3.0.5]
[convert] [ INFO: ] Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
[convert]
[convert]
[convert] [ INFO: ] conversion completed with 0 errors and 0 warnings.
[verify] Verification passed
[cap] CAP saved to /home/owner/work/git_master/hello-stk/build/ImsiChange.cap
BUILD SUCCESSFUL
Total time: 7 seconds