首页 文章

为什么没有安装包的所有applet?为什么我不能删除它们?

提问于
浏览
0

这是我的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个applet添加到单个包中,如下所示:

  • Pack AID = 01020304050607080900

  • App1 AID = 0102030405060708090000

  • App2 AID = 0102030405060708090001

  • App3 AID = 0102030405060708090002

Step1:

我将此包转换为.cap文件,并使用JCManager将其成功安装到我的卡上 .

当我使用gp列出applet时,它返回:

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 (|...........|)

Step2:

我想删除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:::

Question of Step1 :

Q1: 为什么APP1和APP2的AID在输出中没有APP3这样的小程序? (换句话说,为什么我在包的子集中看到APP1和APP2 AID,但是我可以在卡上安装一个Applet吗?)它们是否安装?

Question of Step2 :

Q2: 为什么我无法删除App1和App2?

Q3: 使用参数 -deletedeps 删除App3时错误[ 6A88 ]的含义是什么?我为什么收到它?

Q4: 当我必须使用 deletedeps 而我什么时候不使用?

1 回答

  • 1

    您安装了一个小程序:

    AID: 0102030405060708090002 (|...........|) App SELECTABLE: (none)

    你有一个包含3个applet的包:

    AID: 01020304050607080900 (|..........|) ExM LOADED: (none) 0102030405060708090002 (|...........|) 0102030405060708090001 (|...........|) 0102030405060708090000 (|...........|)

    您只能删除一个现有小程序0102030405060708090002,如果不先删除活动实例010203040506070809000或使用 -deletedeps 删除已安装的小程序,则无法删除程序包01020304050607080900 .

相关问题