Search code examples
javasmartcardsim-cardjavacardapdu

Java Card: How to load SIM applet to real smart card?


I developed a Java Card applet in Eclipse and obtained a cap file. Then i used jcManager – Java Secure Card Manager to load that file to my smart cards. I have two type of smart cards:

  1. Contact, JCOP 2.1 36K
  2. Contactless, JCOP 2.1

My smart card reader is: SDI011 Dual Interface Reader.

Also to developing SIM applet, i'm using Gemalto Developer Suite [3.6]. That IDE has a GSM emulator and my SIM applet works on it well. It gives cap, jar, jac, exp.. files of applet.

Everything is fine so far but i want to load that cap file to my contact or contactless Java Card [because i have no SIM card to work on], and then send-receive APDU messages.

Is it possible? If yes, how? How to load my SIM applet to real smart card [not SIM card]?


Solution

  • It might not work because the SIM application might have dependencies to APIs that are not present in the JCOP cards (for instance ETSI 102 705). But then it is worth trying. Make sure that the file format is compatible between the tools (a cap file is not always a cap file by the way; a real cap file is a zip, some tools prefer IJC files). Try using the cap file from the Gemalto tool in the jcManager. If it does not work you can try GPShell. The main challenge is to have the keys to your target, and then the right tool.