1

I'm in the process of developing an applet to reside and run on Java Cards, and I've been evaluating different cards. I have a bunch of GemaltoXpress cards with 32kb of EEPROM, but despite doing my best, I haven't been able to upload even an empty applet to them. I'm using Global Platform for SmartCardIO Java SDK library to communicate with cards. My applet looks like this:

package test.package;

import javacard.framework.APDU;
import javacard.framework.Applet;

public class TestApplet extends Applet {

    public static void install(byte[] bArray, short bOffset, byte bLength) {
        new TestApplet();
    }

    /**
     * Only this class's install method should create the applet object.
     */
    protected TestApplet() {
        register();
    }

    public void process(APDU apdu) {
        byte[] buffer = apdu.getBuffer();
    }
}

But this fails to upload onto GemaltoXpress cards with SW12=0x6985 right after the first 80 E8 00 00 FF ... APDU. I'm compiling my applet against JAVA Card Kit 2.2.1 with -source 1.2 -target 1.1 parameters passed to javac. My .opt file looks like this:

-nobanner
-out EXP JCA CAP
-exportpath C:\java_card_kit-2_2_1\api_export_files
-d ..\dist
-applet  0x00:0x00:0x50:0x50:0x50:0x50:0x50:0x50:0x50:0x50:0x50:0x00 test.package.TestApplet test.package
0x00:0x00:0x50:0x50:0x50:0x50:0x50:0x50:0x50:0x50:0x50 1.0

I'm puzzled as to why GemaltoXpress cards don't like this applet, while NXP's SmartMX cards are fine with it. Am I missing something? Is there a special requirement when you develop for GemaltoXpress?

iMan Biglari
  • 4,674
  • 1
  • 38
  • 83

0 Answers0