【发布时间】:2015-02-07 18:15:24
【问题描述】:
这是我的 JavaCard 的内容:
GP::: gp -list
AID: A000000151000000 (|....Q...|)
ISD OP_READY: Security Domain, Card lock, Card terminate, Default selected,
CVM (PIN) management
AID: A0000001515350 (|....QSP|)
ExM LOADED: (none)
A000000151535041 (|....QSPA|)
在 Eclipse 中,我将 3 个小程序添加到一个包中,如下所示:
-
包装 AID = 01020304050607080900
- App1 AID = 0102030405060708090000
- App2 AID = 0102030405060708090001
- App3 AID = 0102030405060708090002
第一步:
我将此包转换为 .cap 文件,并使用 JCManager 将其成功安装在我的卡上。
当我使用 gp 列出小程序时,它返回:
GP::: gp -list
AID: A000000151000000 (|....Q...|)
ISD OP_READY: Security Domain, Card lock, Card terminate, Default selected,
CVM (PIN) management
AID: 0102030405060708090002 (|...........|)
App SELECTABLE: (none)
AID: A0000001515350 (|....QSP|)
ExM LOADED: (none)
A000000151535041 (|....QSPA|)
AID: 01020304050607080900 (|..........|)
ExM LOADED: (none)
0102030405060708090002 (|...........|)
0102030405060708090001 (|...........|)
0102030405060708090000 (|...........|)
第二步:
我想删除 App1 和 App2 :
GP::: gp -delete 0102030405060708090000
Could not delete AID (not present on card): 0102030405060708090000
GP::: gp -delete 0102030405060708090000 -deletedeps
Could not delete AID (not present on card): 0102030405060708090000
GP::: gp -delete 0102030405060708090001
Could not delete AID (not present on card): 0102030405060708090001
GP::: gp -delete 0102030405060708090001 -deletedeps
Could not delete AID (not present on card): 0102030405060708090001
但对于 App3,我有不同的输出:
GP::: gp -delete 0102030405060708090002 -deletedeps
Could not delete AID: 0102030405060708090002
openkms.gp.GPException: Deletion failed SW: 6A88
at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:924)
at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:739)
at openkms.gp.GPTool.main(GPTool.java:291)
注意我可以不带参数-deletedeps成功删除App3:
GP::: gp -delete 0102030405060708090002
GP:::
而当我想删除包时,我必须添加deletedeps:
GP::: gp -delete 01020304050607080900
Could not delete AID: 01020304050607080900
TIP: Maybe try with --deletedeps
openkms.gp.GPException: Deletion failed SW: 6985
at openkms.gp.GlobalPlatform.check(GlobalPlatform.java:924)
at openkms.gp.GlobalPlatform.deleteAID(GlobalPlatform.java:739)
at openkms.gp.GPTool.main(GPTool.java:291)
GP::: gp -delete 01020304050607080900 -deletedeps
GP:::
Step1的问题:
Q1:为什么输出中没有APP1和APP2的AID作为像APP3这样的小程序? (换句话说,为什么我在 Package 的子集中看到 APP1 和 APP2 AID,但我可以作为 Applet 安装在卡上?)它们是否安装?
第二步的问题:
Q2:为什么我不能删除 App1 和 App2?
Q3:删除带参数-deletedeps的App3报错[6A88]是什么意思?为什么我会收到它?
Q4:什么时候必须使用deletedeps,什么时候不需要?
【问题讨论】: