CPU卡操作二进制文件

2020-03-27 07:18

标签: ZZ

操作卡片文件命令--读二进制(READ BINARY) 1、命令功能描述

读二进制命令用于读取二进制文件的全部或者部分内容。

每次读取内容在256Byte以内,如果需要读取超过256Byte的内容的话,需要通过多次操作完成。

对二进制文件读取操作前需要满足二进制文件描述块中关于读操作的安全控制的要求。

2、命令报文格式

命令的APDU内容如下所示:

[b] 代码 值[/b] CLA 0x00 INS 0xB0

P1 应用控制参数 P2 应用控制参数 Lc 不存在 Data 不存在

Le 0x00或者要读取数据的长度

其中:

* 如果P1的最高位b8为1时,b6和b7位必须为0,b5-b1位表示待读取的EF文件的SFI;这时P2表示要读取数据起始位置在文件中的偏移量。

* 如果P1的最高位为0时,P1的后7位和P2相连共同组成了一个超过256的整数,表示待读取数据块的起始位置在文件中的偏移量,可以用于超过256Byte文件的读取。 * Le为00时,表示读取最大长度,此时最多读取256Byte。

3、响应报文数据

响应报文数据为读取的数据,最大长度为256Byte。

4、响应报文状态码

此命令执行成功的状态码为0x9000。

对于异常情况,IC卡可能回送的错误码如下所示:

[b] SW1 SW2 含义[/b]

0x62 0x81 回送的数据中部分内容可能出错 0x62 0x82 读取的数据长度小于Le 0x67 0x00 Lc域为空

0x69 0x81 命令和文件格式不相容 0x69 0x82 不满足安全状态

0x69 0x86 不满足命令执行条件(当前EF错误) 0x6A 0x81 不支持此功能 0x6A 0x82 文件没有找到 0x6A 0x86 P1、P2不正确 0x6B 0x00 偏移地址错误 0x6D 0x00 INS错误 0x6E 0x00 CLA错误

0x93 0x03 应用永久锁定

5、命令实现的其他要求

如果卡片不支持大文件的读写操作,可以不实现超过256Byte数据操作。

6、命令实现说明

如果支持大文件读写操作的话,对文件的读操作将通过一个命令链来完成,命令链的第一条命令中将给出文件的SFI,并且只能对小于256Byte的区域进行读操作,后续命令可以操作超过256Byte部分,不需要继续给出文件的SFI。为了实现这样的功能,在读操作第一条命令成功执行以后,卡片需要记下操作的文件的SFI,也就是维护一个当前EF的标志。对当前EF标志最关键的地方在于不继续对该EF操作时,必须将标志清除掉。

7、命令使用示例

(1)预设环境

假设有二进制文件,SFI为0x05,总长度为0x400。

(2)命令报文

读取文件前256Byte的APDU:

00 B0 05 00 00

其中:

* 00 表示READ BINARY命令的CLA。 * B0 表示READ BINARY命令的INS。

* 05 表示READ BINARY命令的P1,为要读取文件的SFI。 * 00 表示READ BINARY命令的P2。

* 00 表示READ BINARY命令的Le,即读取的数据长度为最大长度256Byte。

读取文件从0x150开始的0x30Byte的APDU:

00 B0 81 50 30

其中:

* 00 表示READ BINARY命令的CLA。 * B0 表示READ BINARY命令的INS。

* 81 表示READ BINARY命令的P1,高位1表示P1 P2组成偏移量。 * 00 表示READ BINARY命令的P2,P1、P2组成偏移量0x150。

* 00 表示READ BINARY命令的Le,即读取的数据长度为0x30Byte。

(3)READ BINARY响应报文

卡片处理以后,READ BINARY的响应报文可以根据应用的具体情况决定。


CPU卡操作二进制文件.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:计算机一级等级考试题库2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: