java - Java 卡 APDU 删除命令给出 '69' '85' 错误代码
问题描述
我在 java 卡中安装了一个 .cap 文件。我正在尝试通过 APDU 命令消息删除该 .cap 文件,但它给出的“69”“85”使用条件不满足。我为删除 .cap 文件所做的 PFB 步骤。
从java卡中删除小程序的步骤:
我完成了相互验证命令:
a) 初始化更新
b) 外部认证
并得到 '90' '00' 作为响应,这意味着我的身份验证已完成。
现在我正在尝试触发删除命令来删除 .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]。
[换行CMD]84E400800F4F0501040702059412B4E480D17991
请在这里解释什么是 [Wrapped CMD] 以及 [Wrapped CMD] 84E4....9412B4E480D17991 的最后 8 个字节是什么
解决方案
得到响应为'69' '85' 不满足使用条件。
在删除命令上获得状态字 6985 有多种原因。下面列出了常见的。
- 您尝试删除的包已被另一个小程序使用,因此 JCRE 首先不允许删除此包。
- 您要删除的小程序中包含一些静态数组的引用。删除时取消引用数组是必要的,否则无法删除。
- 它是一个系统包,无法删除。
请在这里解释什么是[Wrapped CMD]
此删除命令是使用安全消息包装器(CLA:84h)发送的,因此它附加了 MAC(最后 8 个字节)。因为这个 MAC 计算错误,所以你收到 6982。检查 K_MAC 是否有这个。
不需要安全消息传递命令来删除包/小程序。因此,请在您的小程序中检查上述 3 个条件。
推荐阅读
- javascript - vanilla JS悬停在div上更改背景颜色
- excel - 在vba的单元格中的公式中传递变量名
- pandas - 返回常规 dafaframe 的 DataFrame 组
- python - 如果之前的数字是正数或负数,Python 如果分析数字有问题?
- javascript - 如何获取仅包含 Google Drive 中文件夹的直接子级的 FolderIterator
- r - 在条形图中的固定点添加图像
- elm - elm-ui 中心元素在包裹的行中
- python - 安装和运行 PYDOE 的问题
- php - 如何防止提交重复的电子邮件
- javascript - 将矩阵形式的txt文件读入Javascript中的数组