2016-10-21 74 views
0

我在JavaCard上安装了一个小程序。我想通过发送APDU命令通过无线(OTA)消息删除这个小程序。以下是APDU命令我通过读卡器发送删除次小程序:通过OTA删除JavaCard小程序

1) A4 04 00 00 
2) ExAuth 00 02 00 01 00 404142434445464748494A4B4C4D4E4F 
3) 80 E4 00 00 0D 4F 0B A0 00 00 00 00 01 02 03 03 01 02 
4) 80 E4 00 00 0D 4F 0B A0 00 00 00 00 01 02 03 03 00 00 

我都遵循这样的: https://adywicaksono.wordpress.com/2008/05/21/understanding-gsm-0348/

但我一直无法删除的小程序,因为一些错误每次。 谢谢。

回答

1

在我的前提是你的JavaCard的是使用全球平台架构(这几乎是每一个Java卡一样),你需要执行以下步骤:

  1. 选择CardManager
  2. 身份验证
  3. 删除小程序

虽然通过AID选择Cardmanager是最好的选择,但您可能成功完成了第一步。从你发布的内容看,第二步看起来有点奇怪。第三步看起来也不错。

为了验证有不同的协议,例如, SCP01,SCP02等。SCP02是现代卡的事实标准。那么当然你也需要正确的密钥进行认证,因为大多数已发布的卡片都有你已经拥有的默认密钥。具体程序在全球平台规范中进行了解释。从我的工具示例日志看起来是这样的:

=> 00 A4 04 00 08 A0 00 00 01 51 00 00 00 00   .........Q.... 
(9407 usec) 
<= 6F 64 84 08 A0 00 00 01 51 00 00 00 A5 58 9F 65 od......Q....X.e 
    01 FF 9F 6E 06 47 91 23 47 41 00 73 49 06 07 2A ...n.G.#GA.sI..* 
    86 48 86 FC 6B 01 60 0B 06 09 2A 86 48 86 FC 6B .H..k.`...*.H..k 
    02 02 02 63 09 06 07 2A 86 48 86 FC 6B 03 64 0B ...c...*.H..k.d. 
    06 09 2A 86 48 86 FC 6B 04 02 55 65 0B 06 09 2B ..*.H..k..Ue...+ 
    85 10 86 48 64 02 01 03 66 0C 06 0A 2B 06 01 04 ...Hd...f...+... 
    01 2A 02 6E 01 02 90 00       .*.n.... 
Status: No Error 
cm> set-key 255/1/DES-ECB/404142434445464748494a4b4c4d4e4f 255/2/DES-ECB/404142434445464748494a4b4c4d4e4f 255/3/DES-ECB/404142434445464748494a4b4c4d4e4f 
cm> init-update 255 
=> 80 50 00 00 08 7D 62 4D F4 89 F6 07 E3 00   .P...}bM...... 
(55368 usec) 
<= 00 00 42 87 00 17 97 93 24 74 FF 02 00 01 3C 2B ..B.....$t....<+ 
    97 86 B8 3B 57 0A D0 9F 82 BF AD C2 90 00   ...;W......... 
Status: No Error 
cm> ext-auth plain 
=> 84 82 00 00 10 EA 1A 9D A0 24 E6 00 9E F8 84 96 .........$...... 
    1A 77 71 46 B4          .wqF. 
(56879 usec) 
<= 90 00            .. 
Status: No Error 
cm> delete ff4563686f4170706c6574 
=> 80 E4 00 00 0D 4F 0B FF 45 63 68 6F 41 70 70 6C .....O..EchoAppl 
    65 74 00           et. 
(956894 usec) 
<= 00 90 00           ... 
Status: No Error 

当你不想自己执行所有的加密协议有工具在那里,这对你做的工作。我认为最好的免费软件工具是Martin Paljek的GlobalPlatformPro。请注意,有很多其他工具可能会被弃用。