zoukankan      html  css  js  c++  java
  • APDU命令与响应格式【转】

    本文转载自:http://map.im/apduintroduce

    APDU命令由命令头和命令体组成: CLA | INS | P1 | P2 | Lc | DATA | Le
    命令头: CLA | INS | P1 | P2 
    命令体: Lc | DATA | Le

    命令各字段含义

    CLA:命令报文的类别字节
    P1: 参数 1
    P2:参数 2
    Lc:Data的长度(含4字节mac)
    Data:在命令的数据字段中发送的字节串
    Le:在向命令响应的数据字段中期望的字节最大数

    Case1 | CLA INS P1 P2
    Case2 | CLA INS P1 P2 Le
    Case3 | CLA INS P1 P2 Lc Data
    Case4 | CLA INS P1 P2 Lc Data Le

    Case1

    这种情况时,命令中没有数据送到卡( Lc)中,也没有数据从卡中返回( Le)。
    不含安全报文的命令: CLA | INS | P1 | P2 
    含安全报文的命令: CLA | INS | P1 | P2 | Lc | MAC
    注: Lc = MAC 的长度, 4 字节。

    Case2

    这种情况时,命令中没有数据送到卡( Lc)中,有数据从卡中返回( Le)。
    不含安全报文的命令: CLA | INS | P1 | P2 | Le
    含安全报文的命令: CLA | INS | P1 | P2 | Lc | MAC | Le
    注: Lc = MAC 的长度, 4 字节。

    Case3

    这种情况时,命令中有数据送到卡( Lc)中,没有数据从卡中返回( Le)。
    不含安全报文的命令: CLA | INS | P1 | P2 | Lc | Data
    含安全报文的命令: CLA | INS | P1 | P2 | Lc | Data+MAC
    注: Lc = 数据的长度 + MAC 的长度( 4 字节)。

    Case4

    这种情况时,命令中既有数据送到卡( Lc)中,也有数据从卡中返回( Le)。
    不含安全报文的命令: CLA | INS | P1 | P2 | Lc | Data | Le
    含安全报文的命令: CLA | INS | P1 | P2 | Lc | Data+MAC | Le
    注: Lc = 数据的长度 + MAC 的长度( 4 字节)。

    格式1

    | Data | SW1 SW2 |

    格式2

    | SW1 SW2 |

    响应各字段含义

    Data:在响应的数据字段中收到的字节串
    SW1:状态字 1
    SW2:状态字 2

  • 相关阅读:
    Ansible template中j2文件调用var中定义变量报错解决办法
    Ansible 获取hosts中的分组ip
    VUE UI网站汇总
    vue rules详解与实例
    Python 获取设备ip地址
    Flask && Vue 虚拟机申请平台(从开发到部署)
    Vue 把获取到的可编辑表格的值传给后端
    SQLAlchemy基本使用,创建表,增删改查
    Ansible 角色(roles)一键部署redis集群(三主三从)
    Flask 数据库相关操作
  • 原文地址:https://www.cnblogs.com/xdouby/p/8418040.html
Copyright © 2011-2022 走看看