Java Card:使用APDUtool选择应用程序时出现问题

时间:2010-09-25 17:35:52

标签: eclipse javacard apdu

我正在使用Eclipse和EclipseJCDE。

我将一个简单的Java卡小程序作为.cap文件安装在模拟器上。我不知道安装是否失败,因为下载脚本是一堆我不明白的ADPU命令。有没有办法查看模拟器上当前的applet以及它们的AID是什么?

然后我用一个命令为ADPUtool编写了一个脚本,选择了applet。根据我项目中的.jca文件。

  • 我的小程序的AID:

    0x1:0x2:0x3:0x4:0x5:0x6:0x7:0x8:0x9:0x0:0x0

  • 我为选择applet所做的命令:

    0x00 0xA4 0x04 0x00 0x0b 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0x0 0x0

开头的0x00 0xA4 0x04 0x00用于select命令,然后是0x0b的长度,而不是AID,然后是0x0在最后的Le字节,我不知道认为这个命令很重要。当我使用ADPU工具运行此脚本时,我得到了这个:

  • CLA: 00
  • INS: a4
  • P1: 04
  • P2: 00
  • Lc: 0b 01 02 03 04 05 06 07 08 09 00
  • Le: 00
  • SW1: 6d
  • SW2: 00

我相信 SW1 SW2 字节是对我命令的响应,我认为6d意味着它没有找到或无法加载applet。我做错了什么?

1 个答案:

答案 0 :(得分:2)

6D00表示错误指令(INS类字节'A4'不存在于'00'类中)。

在ATR之后发布完整的APDU跟踪,我建议您从http://www.etsi.eu/deliver/etsi_ts/102200_102299/102221/08.02.00_60/ts_102221v080200p.pdf查看第10部分。