• 转:APDU命令格式


    CLA    INS  P1  P2  Lc  Data  Le

    其中CLA为指令类别;INS为指令码;P1、P2为参数;Lc为Data的长度;Le为希望响应时回答的数据字节数,0表最大可能长度。

    一 命令分类:

    COS命令由具体应用分为4种命令报文结构如下:

    ① 情形1

    CLA INS P1 P2  00

    ② 情形2

    CLA INS P1 P2 Le

    ③ 情形3

    CLA INS P1 P2 Lc Data

    ④ 情形4

    CLA INS P1 P2 Lc Data Le

    二 响应报文

    1) 响应结构

    响应数据  响应状态码

    Data      SW1 SW1

    DATA: 返回给用户的数据,即命令的执行结果。

    SW1、SW2: 返回命令处理的状态。

    三 命令集

    1) Read Binary

    功能:此命令用于读取二进制文件部分或全部的内容。

    CLA  00

    INS  B0

    P1 见参数说明

    P2 从文件中读取的第一字节的偏移地址

    Le 期望读出数据的长度

    2) Update Binary

    功能:此命令使用给定的数据来更新二进制文件部分或全部的内容。

    CLA  00

    INS  D6

    P1 见参数说明

    P2 要修改的第一字节的偏移地址

    Lc 后续数据域的长度

    Data 修改用的数据

    3) Read Record

    功能:此命令用于读取记录文件中指定记录的内容。

    CLA  00

    INS  B2

    P1 记录号

    P2 见参数说明

    Le 期望读出数据的长度

    4) Update record

    功能:此命令使用给定的数据来更新记录文件中指定记录的内容。当所指定的文件非记录文件时,命令将终止。

    CLA  00

    INS  DC

    P1 P1= 00 表示当前记录

    P1≠ 00 表示指定的记录号

    P2 见参数说明

    Lc 后续数据域的长度

    Data 更新原有记录的新记录

    5) Verify PIN

    功能:此命令将校验给定的密码的正确性,根据比较的结果修改安全状态,若校验失败次数达到PIN尝试上限,则PIN自动锁定。

    CLA  00

    INS  20

    P1  00

    P2

    Lc  02 ~ 10

    Data 外部输入的个人密码

    6) Select File

    功能:此命令使用文件名或应用标示符来选择IC卡内DF或EF。

    CLA  00

    INS  A4

    P1  00

    P2  00

    Lc  00 (选择MF文件)/  02

    Data 无 / FID

    7) Get Challenge

    功能:此命令请求IC卡返回一个用于安全相关过程的随机数。

    CLA  00

    INS  84

    P1  00

    P2  00

    Le  04

    8) Get Response

    功能:此命令为T=0协议情形4状态下,用来取卡中返回的数据。

    格式:

    CLA  00

    INS  C0

    P1  00

    P2  00

    Le 响应的期望数据最大长度

    9) Internal Authenticate

    功能:此命令将为外部设备验证卡中的秘密模块的有效性提供数据。

    CLA  00

    INS  88

    P1  00

    P2  00 ~ 07 密钥号

    Lc  04

    Data 外部随机数(4字节)

    10) External Authenticate

    功能:此命令将验证外部设备中的秘密模块的有效性。

    CLA  00

    INS  82

    P1  00

    P2  00  ~ 07 密钥号

    Lc  0C

    Data 发卡方认证数据

    11) Change / Unlock PIN

    功能:修改、解锁、安装卡片个人密码。

    CLA  00

    INS  5E

    P1  00  修改卡片个人密码

     01  解锁卡片个人密码

     02  安(重)装卡片个人密码

    P2 密码号

    Lc

    Data

    12) Unlock Key

    功能:解锁卡片应用密钥。

    CLA  00

    INS  5C

    P1  01  解锁应用密钥

     02  安装卡片应用密钥

    P2 密钥号

    Lc 无 / 密钥长度

    Data 无 / 加密的密钥

    13) Create File

    功能:此命令创建卡片文件系统。

    CLA  00 /  80

    INS  F2

    P1  00 / FTP 文件类型

    P2  00 / FAC 文件访问控制条件

    Lc 无 /  07

    Data

    示例:

    1 应用选择

    (1)选择MF(主文件)

    CLA   INS   P1   P2   Lc   Data

    00    A4    00   00 

    P1=00选择主文件                   

    (2)根据应用标识符选择应用

    CLA   INS   P1   P2   Lc   Data

    00    A4    04   0C   07   A0 00 00 02 47 10 01

    P1=04 选择DF(专用文件),此时数据域为DF的文件名(AID应用标识符)

      

    DF包括EF(基本文件)和其他DF

    DF1:EF.COM、EF.DG1........................EF.DG16、EF.Sod

    2 使用SELECT命令选择基本文件

    例:选择机读取区

    CLA   INS   P1   P2   Lc   Data

    00    A4    02   0C   02   01 01

    3读二进制

    CLA   INS   P1   P2   Lc   Data

    00    B0    05   00   00                   //读取文件前256Byte

    如果P1的最高位b8为1时,b6和b7位必须为0,b5-b1位表示待读取的基本文件的SFI;这时P2表示要读取数据起始位置在文件中的偏移量。
        如果P1的最高位为0时,P1的后7位和P2相连共同组成了一个超过256的整数,表示待读取数据块的起始位置在文件中的偏移量,可以用于超过256Byte文件的读取。

  • 相关阅读:
    Spring Boot
    Linux入门
    synchronized(一)
    避免XSS攻击
    MySql概述及入门(五)
    MySQL概述及入门(四)
    上传漏洞总结-upload-labs
    文件类型解析漏洞防御与攻击(PHP)
    Dvna for Owasp top 10 2017
    XSS 漏洞介绍
  • 原文地址:https://www.cnblogs.com/liubaocheng999/p/3571344.html
Copyright © 2020-2023  润新知