APDU错误码
- 什么是APDU?
APDU(Application Protocol Data Unit)是智能卡与智能卡读卡器之间传送的信息单元。它遵循ISO/IEC 7816-4标准,用于在智能卡应用程序中执行命令和传输数据。APDU指令通常由CLA(类别字节)、INS(指令码)、P1和P2(参数)、Lc(数据域长度)、Data(数据域)、以及Le(期望响应的最大长度)等字段组成。
常见的APDU错误码及描述
以下是常见的APDU错误码及其简要描述:
9000:正常,成功执行。表示命令已成功完成,没有错误。
6200:警告,信息未提供。表示命令执行时缺少必要的信息。
6281:警告,回送数据可能出错。指示在回送数据时可能存在错误。
6282:警告,文件长度小于Le。表示文件长度小于Le字段指定的长度。
6283:警告,选中的文件无效。指示选中的文件不是有效的文件。
6284:警告,FCI格式与P2指定的不符。表示文件控制信息(FCI)的格式与P2参数指定的格式不匹配。
6300:警告,鉴别失败。表示鉴别过程失败。
63Cx:警告,校验失败(x-允许重试次数)。表示校验失败,x为允许的重试次数。
6400:出错,状态标志位没有变。表示命令执行后,状态标志位未发生变化。
6581:出错,内存失败。表示在执行写FLASH/EEPROM操作时内存失败。
6700:出错,长度错误。表示命令或数据的长度不正确。
6882:出错,不支持安全报文。表示智能卡不支持安全报文功能。
6900:出错,不能处理。表示智能卡无法处理该命令。
6901:出错,命令不接受(无效状态)。表示智能卡当前状态不允许执行该命令。
6981:出错,命令与文件结构不相容,当前文件非所需文件。表示命令与当前文件的结构不兼容。
6982:出错,操作条件(AC)不满足,没有校验PIN。表示操作条件不满足,如未校验PIN码。
6983:出错,认证方法锁定,PIN被锁定。表示认证方法被锁定,如PIN码被锁定。
6984:出错,随机数无效,引用的数据无效。表示随机数或引用的数据无效。
6985:出错,使用条件不满足。表示命令的使用条件不满足。
6986:出错,不满足命令执行条件(不允许的命令,INS有错)。表示命令不符合执行条件,如INS指令码错误。
6987:出错,MAC丢失。表示消息认证码(MAC)丢失。
6988:出错,MAC不正确。表示消息认证码(MAC)不正确。
6A80:出错,数据域参数不正确。表示数据域中的参数不正确。
6A81:出错,功能不支持;创建不允许;目录无效;应用锁定。表示请求的功能不支持,或创建操作不允许,或目录无效,或应用被锁定。
6A82:出错,该文件未找到。表示请求的文件未找到。
6A83:出错,该记录未找到。表示请求的记录未找到。
6A84:出错,文件预留空间不足。表示文件预留空间不足以完成操作。
6A86:出错,P1或P2不正确。表示P1或P2参数不正确。
6A88:出错,引用数据未找到。表示引用的数据未找到。
6B00:出错,参数错误。表示命令中的参数错误。
6Cxx:出错,Le长度错误,实际长度是xx。表示Le字段指定的长度与实际长度不匹配。
6E00:出错,不支持的类:CLA有错。表示CLA字段指定的类别不被支持。
6F00:出错,数据无效。表示数据无效或无法识别。
6D00:出错,不支持的指令代码。表示INS指令码不被支持。
9301:出错,资金不足。表示交易或操作因资金不足而失败。
9302:出错,MAC无效。表示MAC验证失败。
9303:出错,应用被永久锁定。表示智能卡应用被永久锁定。
9401:出错,交易金额不足。表示交易金额低于允许的最小值。
9402:出错,交易计数器达到最大值。表示交易计数器已达到其最大值。
9403:出错,密钥索引不支持。表示请求的密钥索引不被支持。
9406:出错,所需MAC不可用。表示所需的MAC不可用,无法完成操作。
- 如何查找和解决APDU错误码?
当遇到APDU错误码时,可以采取以下步骤进行查找和解决:
查阅文档:首先查阅智能卡的技术文档或开发者指南,了解错误码的具体含义和可能的解决方案。
检查命令和参数:仔细检查APDU命令的各个字段,确保CLA、INS、P1、P2、Lc、Data和Le等参数正确无误。
验证智能卡状态:确保智能卡处于正确的状态,如已正确初始化、未锁定等。
调试和测试:使用调试工具或测试平台对APDU命令进行调试和测试,观察命令的执行过程和响应结果。
联系技术支持:如果问题无法解决,可以联系智能卡的技术支持团队或开发者社区寻求帮助。
本文作者:ljmzj
本文链接:https://www.cnblogs.com/ljmzj/p/18668715
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步