Java卡APDU删除命令提供'69''85'错误代码

时间:2018-06-12 11:57:16

标签: java smartcard javacard apdu globalplatform

我有一个.cap文件安装到java卡中。我试图通过APDU命令消息删除该.cap文件,但它给出'69''85'使用条件不满意。我已经完成了删除.cap文件的PFB步骤。

从Java卡中删除applet的步骤:

我完成了相互认证命令:

a)初始化更新

b)外部认证

并将'90'00'作为响应,这意味着我的身份验证已完成。

现在我试图触发delete命令删除.cap文件

删除命令

[CMD] 80E40080074F050104070205

CLS:80

INS:E4

P1:00

P2:80

Lc:07

数据:4F 05 0104070205

4F:要删除的应用程序或可执行文件加载文件应使用       标签为AID('4F')

05:AID的长度

AID:0104070205

得到回应'69''85'使用条件不满意。

注意: - 直接通过jSDSCTool发送[CMD] 80E40080074F050104070205,我也得到69''82'安全状态不满意。

我在通过jSDSCTool删除包时获得[Wrapped CMD]。

[Wrapped CMD] 84E400800F4F0501040702059412B4E480D17991

请在这里解释什么是[Wrapped CMD]以及最后8个字节 [Wrapped CMD] 84E4 .... 9412B4E480D17991

Reference Link that i have followed to create command message

1 个答案:

答案 0 :(得分:2)

  

得到回应' 69' ' 85'使用条件不满意。

在删除命令上获取状态字6985有多种原因。常见的如下所列。

  1. 您尝试删除的软件包由另一个小程序使用,因此JCRE首先不允许删除此软件包。
  2. 您要删除的applet中有一些静态数组的引用。删除时取消引用数组是必要的,否则无法删除。
  3. 这是一个系统包,无法删除。
  4.   

    请在这里解释什么是[Wrapped CMD]

    此删除命令是使用安全消息传递包装器(CLA:84h)发送的,因此它附加了MAC(最后8个字节)。由于此MAC计算错误,因此您收到6982.请检查K_MAC。

    不需要安全消息传递命令来删除程序包/小程序。所以检查你小程序中的上述三个条件。