一、是什么

APDU (ApplicationProtocolDataUnit–应用协议数据单元);协议数据单元PDU
(ProtocolDataUnit)是指对等层次之间传递的数据单位。
协议数据单元(ProtocolDataUnit)
物理层 的PDU是数据位(bit),
数据链路层的PDU是数据帧(frame),
网络层的PDU是数据包(packet),
传输层的PDU是数据段(segment),
其他更高层次的PDU是数据(data)。

二、字段定义及格式

APDU分为发送命令(C-APDU)和返回命令(R-APDU)。

  • C-APDU格式:
    • CLA | INS | P1 | P2 | Lc | DATA | Le
      在这里插入图片描述
  • R-APDU格式:
    • Data | SW1 SW2 |
      在这里插入图片描述
  • 常用SW1-SW2值:
    9000: 执行成功
    6100: 数据被截断
    6283: 应用无效
    6300: 认证失败
    6400: 原因不明
    6700:长度不对
    6982: 需要PIN验证
    6983: 文件无效
    6984: 数据无效
    6985: 条件不满足
    6986: 不允许该命令
    6982: 安全条件不满足
    6987: 安全消息丢失
    6988: 安全消息不正确
    6999: 应用选择失败
    6A80: 数据错误
    6A81: 功能不支持
    6A82: 文件找不到
    6A83: 记录找不到
    6A84: 没有足够的空间
    6A86: 不正确的参数(P1,P2)
    6A88: 引用数据没找到
    6B00: 错误的参数 (P1,P2)
    6C00:长度错误 (Le)
    6D00: INS不支持
    6E00: CLA 不支持
    6F00: 未知错误
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐