APDU命令
CLA INS P1 P2 Lc Data Le
其中CLA为指令类别;INS为指令码;P1、P2为参数;Lc为Data的长度;Le为希望响应时回答的数据字节数的最大可能长度。
一 命令分类:
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文件的读取。
读取数据组1(机读取)的数据
读取数据组2(编码人脸)的数据
分享到:
相关推荐
智能卡APDU的命令格式及其分析.pdf
智能IC卡开发过程中,不可避免的用到7816规范,数据、命令的传输,都要遵循一定的格式。 智能卡数据的操作,包括选择、读取、写入/更新都是通过特定的文件操作APDU命令来完成的。
应用协议数据单元(APDU)传输协议数据单元(TPDU)IC卡的应用越来越广泛,从存储卡到逻辑加密卡,目前CPU卡已经逐渐在应用中占据主导地位。CPU卡根据通讯协议可分为两种:接触式和非接触式。接触式CPU卡主要采用两...
POS的EMV认证,涉及IC卡apdu命令,命令解析日志,完整交易流程,符合EMV规范;
简易串口助手,附带一部分寻卡,激活卡指令和简单的PPSE非接触式APDU命令,QT5编写
用于对智能卡上运行的应用程序和使用基于APDU的接口的应用程序进行可配置的黑盒模糊测试的工具。 APDU代表ISO7816标准的“应用协议数据单元”,是具有标头(前5个字节)和可选的自定义数据(最大256个字节)的简单...
此APDU转为开发智能卡读写器测试使用! 能兼容市面上大多读卡器!
APDU命令整理,描述了APDU的大部分命令,用于智能卡的开发利用。
APDU指令,原创
GlobalPlatform 2.1.1规范中文版,很好的智能卡开发文档,包含APDU命令,方便卡开发新手快速了解流程和命令,中文版看起来比英文版方便一点
CPU 卡常用的 APDU 指令错误码
PBOC3.0卡 脱机消费的APDU指令流程 从选PPSE到扣款完成 以及交易日志的读取
1、智能卡APDU测试工具,可以编写测试脚本,逐条连续运行脚本命令; 2、首次使用时请在“Reader--loader DLL”选项中添加“HB_PCSC.dll”文件; 3、脚本为.txt格式,“File--Open flie”即可,附工行IC卡读应用数据...
本体 含有数据字段,其长度由先前的命令APDU中的h字节规定,数据字段的长度可以为零,而不管命令APDU中的 规定值,这是由于智能卡出现了一个错误或不正确的参数而结束对命令的处理,并由尾标中的两个单字节的 状态字...
发送apdu指令读卡工具
FIDO设备的规范文档
一条命令APDU含有一个头标和一个本体。本体可有不同长度,或者在相关数据字段为空时,整个可以不存 在。 头标由四个数据元组成,它们是类CLA(ClAss)字节,命令INS(INStructic,n)字节和两个参数Pl和P2 ...
银行ODA交易记录日志,很好的体现了卡片和终端交易流程,主要是DDF和GPO的获取,不包含8583的报文上传!
非接触式IC卡APDU指令介绍: 1APDU指令格式 2.APDU指令分类 3.交易指令示例 4.卡内文件组织 5.安全机制 6.安全报文传送