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

  • 相关阅读:
    硬盘
    vim 使用技巧
    R语言自定义函数中的位置参数、关键字参数、默认参数
    R语言中批量加载函数
    R语言中如何在函数内部定义全局变量
    centos7.9中安装dnf;bash: dnf: command not found...
    ubantu中实现root用户登录ssh
    linux系统中如何修改主机名
    Ubuntu 20.04.2如何root登录
    清北学堂模拟day6 兔子
  • 原文地址:https://www.cnblogs.com/xdouby/p/8418040.html
Copyright © 2011-2022 走看看