diff --git a/.gitmodules b/.gitmodules index 9793faa..1af27a6 100644 --- a/.gitmodules +++ b/.gitmodules @@ -14,3 +14,6 @@ [submodule "ACardEmulator/app/src/main/external/MuscleApplet"] path = ACardEmulator/app/src/main/external/MuscleApplet url = https://github.com/martinpaljak/MuscleApplet.git +[submodule "ACardEmulator/app/src/main/external/GidsApplet"] + path = ACardEmulator/app/src/main/external/GidsApplet + url = https://github.com/vletoux/GidsApplet.git diff --git a/ACardEmulator/app/app.iml b/ACardEmulator/app/app.iml index 142fb6d..abbe90c 100644 --- a/ACardEmulator/app/app.iml +++ b/ACardEmulator/app/app.iml @@ -55,6 +55,7 @@ + @@ -70,14 +71,18 @@ + + + + diff --git a/ACardEmulator/app/build.gradle b/ACardEmulator/app/build.gradle index 68c7312..9f187ef 100644 --- a/ACardEmulator/app/build.gradle +++ b/ACardEmulator/app/build.gradle @@ -18,6 +18,8 @@ android { } } sourceSets { + main.java.srcDirs += 'src/main/external/GidsApplet/src' + main.java.exclude('**/gidsAppletTests/*.java') main.java.srcDirs += 'src/main/external/IsoApplet/src' main.java.srcDirs += 'src/main/external/android-scio/src/main' main.java.srcDirs += 'src/main/external/ykneo-openpgp/applet/src' diff --git a/ACardEmulator/app/src/main/external/GidsApplet b/ACardEmulator/app/src/main/external/GidsApplet new file mode 160000 index 0000000..5851dbc --- /dev/null +++ b/ACardEmulator/app/src/main/external/GidsApplet @@ -0,0 +1 @@ +Subproject commit 5851dbc612b369eaa712db4621748f1f9cd24414 diff --git a/ACardEmulator/app/src/main/java/com/vsmartcard/acardemulator/SimulatorService.java b/ACardEmulator/app/src/main/java/com/vsmartcard/acardemulator/SimulatorService.java index 3c2fc6b..331bb68 100644 --- a/ACardEmulator/app/src/main/java/com/vsmartcard/acardemulator/SimulatorService.java +++ b/ACardEmulator/app/src/main/java/com/vsmartcard/acardemulator/SimulatorService.java @@ -31,8 +31,6 @@ import com.licel.jcardsim.base.SimulatorRuntime; import com.licel.jcardsim.samples.HelloWorldApplet; import com.licel.jcardsim.utils.AIDUtil; -import net.pwendland.javacard.pki.isoapplet.IsoApplet; - import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -41,6 +39,8 @@ import java.net.Socket; import openpgpcard.OpenPGPApplet; import pkgYkneoOath.YkneoOath; +import net.pwendland.javacard.pki.isoapplet.IsoApplet; +import com.mysmartlogon.gidsApplet.GidsApplet; public class SimulatorService extends HostApduService { @@ -114,6 +114,16 @@ public class SimulatorService extends HostApduService { extra_error += "\n" + "Could not install " + name + " (AID: " + aid + ")"; } + name = getResources().getString(R.string.applet_gidsapplet); + aid = getResources().getString(R.string.aid_gidsapplet); + try { + simulator.installApplet(AIDUtil.create(aid), GidsApplet.class); + extra_install += "\n" + name + " (AID: " + aid + ")"; + } catch (Exception e) { + e.printStackTrace(); + extra_error += "\n" + "Could not install " + name + " (AID: " + aid + ")"; + } + Intent i = new Intent(TAG); if (!extra_error.isEmpty()) i.putExtra(EXTRA_ERROR, extra_error); diff --git a/ACardEmulator/app/src/main/res/values/strings.xml b/ACardEmulator/app/src/main/res/values/strings.xml index 35a4262..7aaed79 100644 --- a/ACardEmulator/app/src/main/res/values/strings.xml +++ b/ACardEmulator/app/src/main/res/values/strings.xml @@ -14,6 +14,10 @@ Clear Log Show Help + A000000397425446590201 + A0000003974254465902 + A00000039742544659 + My Smart Logon\'s GIDS Applet F276A288BCFBA69D34F31001 Philip Wendland\'s ISO Applet F000000001 @@ -30,6 +34,7 @@ OpenPGP Applet (AID D2760001240102000000000000010000)\n OATH Applet (AID A000000527210101)\n ISO Applet (AID F276A288BCFBA69D34F31001)\n + GIDS Applet (AID A000000397425446590201)\n \n Place your device on a contact-less reader. When the reader issues a SELECT command for one of the application identifiers above, the emulator creates the appropriate applet. The emulated applet will then handle all subsequent APDUs. diff --git a/ACardEmulator/app/src/main/res/xml/aid_list.xml b/ACardEmulator/app/src/main/res/xml/aid_list.xml index 3aa2f46..5b3f8d2 100644 --- a/ACardEmulator/app/src/main/res/xml/aid_list.xml +++ b/ACardEmulator/app/src/main/res/xml/aid_list.xml @@ -21,4 +21,10 @@ + + + + + +