This discussion is archived
2 Replies Latest reply: May 31, 2012 8:44 AM by Vivien RSS

Difference of APDUTool and GPShell when installing the applet

Vivien Newbie
Currently Being Moderated
Hi all,

I am a bit confused with the installation of the javacard applet.

When using apdutool, I can just send such APDU command like this,
// Select the installer applet
0x00 0xA4 0x04 0x00 0x09 0xa0 0x00 0x00 0x00 0x62 0x03 0x01 0x08 0x01 0x7F;
// create HelloApplet applet
0x80 0xB8 0x00 0x00 0xc 0xa 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x0a 0x01 0x00 0x7F;
, where the creation command payload formats like *|Lc|AID_len|AID|param_len|parameters|Le*

However, I didn't find, in reality, how to use apdutool to deploy (install) the applet on the real sim card. Only tools that implement GP spec such as GPShell can do that. And for that installation, the APDU command is different (begins with 80 E6).

I checked the difference between javacard and GP, that GP is a specification to manage the applets on the smartcard, eg, to ensure the secure channel when communicating with the smartcard. So my question is, if my java card follows the GP standard, does it mean that apdutool cannot be used to create an applet on the real card? Or is apdutool and apduio mainly used to communicate with the jcwde simulator? Thanks!!

regards,
  • 1. Re: Difference of APDUTool and GPShell when installing the applet
    Sebastien_Lorquet Journeyer
    Currently Being Moderated
    the difference between Javacard and GlobalPlatform is the same as the one between a falcon and a carrot.

    yeah, you can't compare.

    javacard is about executing applets on anything that can exchange apdus. It does not care about how to put an applet somewhere. it can be anything, provided that you implement what the jc spec says.

    GP is about loading applications in things that can exchange apdus. It does not care about javacards. It can be any application, and it officially works with multos, but it could be anything, provided that you implement what the gp spec says.

    The confusion is that in mostly all cards, these two "sleep together" (french expression, sorry :) ) because they were both invented and promoted by the same consortium (visa open platform), that later separated and evolved into jc 2.x.x and gp.
    And there are very little other combinations (gp multos cards are said to exist, I never saw one, and that's all). At a moment the gp spec contained a microsoft dot net card API, but it disappeared in gp 2.2.

    apdutool is an ad-hoc tool made by sun to start an applet in the sun javacard simulator (iirc) so it compares to global platform, but is not compatible with it. They made it as simple as possible, this is a "bare minimum" loader.

    No real card is compatible with apdutool commands, they all implement GP.

    On the contrary I'm not aware of any public javacard simulator that implements GP.
  • 2. Re: Difference of APDUTool and GPShell when installing the applet
    Vivien Newbie
    Currently Being Moderated
    Thanks!! Your answer solved all my puzzles :)

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points