我有一个.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的长度
援助:0104070205
得到回应'69''85'使用条件不满意 .
注意: - 直接通过jSDSCTool发送[CMD] 80E40080074F050104070205,我也得到69''82'安全状态不满意 .
我通过jSDSCTool删除包时得到[Wrapped CMD] .
[Wrapped CMD] 84E400800F4F0501040702059412B4E480D17991
请解释这里的[Wrapped CMD]是什么,[Wrapped CMD] 84E4的最后8个字节是什么.... 9412B4E480D17991
Reference Link that i have followed to create command message
1 回答
在删除命令上获取状态字6985有多种原因 . 常见的如下所列 .
您尝试删除的包由另一个小程序使用,因此JCRE首先不允许删除此包 .
您要删除的applet中有一些静态数组的引用 . 删除时取消引用数组是必要的,否则无法删除 .
这是一个系统包,无法删除 .
此删除命令是使用安全消息传递包装器(CLA:84h)发送的,因此它附加了MAC(最后8个字节) . 由于此MAC计算错误,因此您收到6982.请检查K_MAC .
不需要安全消息传递命令来删除包/小程序 . 所以检查你小程序中的上述3个条件 .