如何从我的Java卡中删除applet?

时间:2014-05-21 12:56:16

标签: applet smartcard javacard globalplatform

我在我的javacard上安装了一个applet!现在我想删除它。我怎么能这样做? 我试着"重置卡" jcmanager中的按钮以及gpj -delete AID但它没有被删除!我也尝试gpshell,但它也不起作用。 gpj的输出如下所示:

注意:我从here下载.cap文件[部分:Java Card Applet读取和写入数据],here是其源代码。

enter image description here

2 个答案:

答案 0 :(得分:0)

您正在尝试删除可执行加载文件而不删除从中安装的applet实例。将DELETE APDU的参数P2更改为0x80(删除对象和相关对象)。如果您传递参数-deletedeps

,GPJ会执行此操作
gpj -deletedeps -delete D2760000605002

或者首先删除applet实例(AID:D2 76 00 00 60 41 02)。

答案 1 :(得分:0)

DELETE命令格式看起来不错

80E40000094F07D2760000605002

80E4000009
^^ ->  CLA 
  ^^ -> E4 :INS -> DELETE
    ^^ -> 00 : Reference Control Parameter P1 -> Last (or only) command
      ^^ -> 00 :P2 -> Delete object
        ^^ -> 09 :Lc -> Length of data field

4F07D2760000605002
^^ -> 4F: Tag-> Executable Load File or Application AID
  ^^ -> 07 : Length of Load File AID 
    ^^^^^^^^^^^^^^ -> D2760000605002 :Load File AID

看起来Load File AID不属于试图删除的小程序。