1

我正在开发一个在 Java Card 上驻留和运行的小程序,并且我一直在评估不同的卡。我有一堆带有 32kb EEPROM 的 GemaltoXpress 卡,但尽管我尽了最大努力,但我什至无法向它们上传一个空的小程序。我正在使用Global Platform for SmartCardIO Java SDK 库与卡进行通信。我的小程序如下所示:

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();
    }
}

但这无法在第一个80 E8 00 00 FF ...APDU 之后立即上传到 SW12=0x6985 的 GemaltoXpress 卡。我正在针对 JAVA Card Kit 2.2.1 编译我的小程序,并将-source 1.2 -target 1.1参数传递给javac. 我的.opt文件如下所示:

-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

我很困惑为什么 GemaltoXpress 卡不喜欢这个小程序,而 NXP 的 SmartMX 卡却很好。我错过了什么吗?为 GemaltoXpress 开发时是否有特殊要求?

4

0 回答 0