移动卡APDU指令错误详解与参考
5星 · 超过95%的资源 需积分: 50 4 浏览量
更新于2024-09-08
收藏 4KB TXT 举报
"APDU指令错误收集"
APDU(Application Protocol Data Unit)是智能卡通信协议ISO 7816中定义的一种数据包格式,用于智能卡与读卡器之间的通信。这个错误集包含了在使用APDU指令进行移动卡片开发时可能会遇到的各种错误情况,这些错误代码有助于开发者识别和解决问题。
1. 成功执行: "9000" - 表示APDU命令成功执行,没有出现任何问题。
2. 警告信息:
- "6200" - 警告信息未提供,可能意味着某些信息未被返回。
- "6281" - 警告回送数据可能出错,回送的数据可能不完整或格式有误。
- "6282" - 警告文件长度小于Le,表示请求的数据量超过了文件的实际长度。
- "6283" - 警告选中的文件无效,可能是文件不存在或者已损坏。
- "6284" - 警告FCI(File Control Information)格式与P2指定的不符,表明文件控制信息与预期不符。
3. 校验错误:
- "6300" - 鉴别失败,可能是指令执行过程中身份验证未通过。
- "63Cx" - 校验失败,x代表允许的重试次数,意味着校验和不正确。
4. 错误状态:
- "6400" - 出错状态标志位没有变,表示卡片状态没有更新。
- "6581" - 内存失败,表明卡片内部存储出现问题。
- "6700" - 长度错误,指APDU的长度字段不正确。
5. 不支持的功能:
- "6881" - 不支持逻辑通道,卡片不支持多通道通信。
- "6882" - 不支持安全报文,可能卡片不支持特定的安全机制。
- "6884" - 不支持命令链,表示卡片不支持连续发送多个命令。
6. 命令拒绝或条件不满足:
- "6901" - 命令不接受(无效状态),例如卡片被锁定或主文件未建立。
- "6981" - 命令与文件结构不相容,当前文件不是所需文件。
- "6982" - 操作条件不满足,如未输入正确的PIN。
- "6983" - 认证方法锁定,PIN已被锁定。
- "6984" - 随机数无效,引用的数据无效。
- "6985" - 使用条件不满足,可能是时间限制或其他条件未达成。
- "6986" - 不满足命令执行条件,如不适当的命令或INS错误。
- "6987" - MAC丢失,指缺少必要的消息认证码。
- "6988" - MAC不正确,表明消息认证码校验失败。
- "698D" - 保留,可能用于未来的错误定义。
7. 数据错误:
- "6A80" - 数据域参数不正确,表明输入的数据格式或值有误。
- "6A81" - 功能不支持,如创建文件不允许,目录无效或应用被锁定。
- "6A82" - 文件未找到,可能是因为文件不存在。
- "6A83" - 记录未找到,可能是指定的记录不存在。
- "6A84" - 文件预留空间不足,不足以完成操作。
- "6A86" - P1或P2不正确,指APDU的参数错误。
- "6A88" - 引用数据未找到,可能是数据丢失或被删除。
8. 参数错误:
- "6B00" - 参数错误,表明APDU中的某个参数不正确。
9. 类或指令代码错误:
- "6Cxx" - Le长度错误,实际长度是xx,表示期望的响应长度与实际长度不符。
- "6E00" - 不支持的类(CLA),表示使用的命令类别不受卡片支持。
- "6F00" - 数据无效,表明接收的数据无法解析或理解。
- "6D00" - 不支持的指令代码(INS),表明卡片不支持特定的命令。
10. 特殊错误:
- "9301" - 资金不足,通常出现在金融交易中。
- "9302" - MAC无效,可能是因为消息认证码计算错误。
- "9303" - 应用被永久锁定,可能是因为多次尝试失败导致的。
- "9401" - 交易金额不足,表示交易金额低于最小限额。
- "9402" - 交易计数器达到最大值,可能是指定操作的次数超出限制。
- "9403" - 密钥索引不支持,表明使用的密钥索引无效。
- "9406" - 所需MAC不可用,可能是因为密钥管理问题。
11. 其他错误:
- "6900" - 不能处理,一般表示卡片无法执行接收到的命令。
- "6600" - 接收通讯超时,通信过程中没有在规定时间内收到响应。
- "6601" - 接收字符奇偶错,表明接收的数据奇偶校验失败。
- "6602" - 校验和不对,可能是数据传输过程中发生错误。
- "6603" - 警告当前DF文件无FCI,表示选择的文件没有文件控制信息。
- "6604" - 警告当前DF下无SF或KFR-APDU,表明所选文件下没有子文件或预期的APDU格式不正确。
了解这些错误代码及其含义对于调试APDU指令至关重要,可以帮助开发者快速定位问题并修复,从而提高开发效率和卡片应用的稳定性。
2017-08-31 上传
2020-08-06 上传
2016-06-13 上传
107 浏览量
qq_28716819
- 粉丝: 0
- 资源: 1
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍