原创
操作卡片文件命令--读记录(READ RECORD)
2008-10-20 13:24
6311
9
9
分类:
软件与OS
1、命令功能描述
读记录命令用于读取记录文件的记录内容。
对记录文件读取操作前需要满足记录文件描述块中关于读操作的安全控制要求。
2、命令报文格式
命令的APDU内容如下所示:
代码 值
CLA 0x00
INS 0xB2
P1 记录标识符
P2 应用控制参数
Lc 不存在
Data 不存在
Le 0x00
其中:
* P2高5字节表示记录文件的SFI。
* P1为记录标识符,P2的低3字节含义如下所示:
B1 B2 B3 含义
1 0 0 读P1指定标识符的记录
1 0 1 读从P1指定标识符到文件结束的全部记录
1 1 0 读从开始到P1指定标识符的全部记录
0 0 0 读具有P1指定标识符的第一个记录
0 0 1 读具有P1指定标识符的最后一个记录
0 1 0 读具有P1指定标识符的下一个记录
0 1 1 读具有P1指定标识符的上一个记录
3、响应报文数据
响应报文由读取成功以后的记录内容组成。
4、响应报文状态码
此命令执行成功的状态码为0x9000。
对于异常情况,IC卡可能回送的错误码如下所示:
SW1 SW2 含义
0x62 0x81 回送的数据中部分内容可能出错
0x64 0x00 标志状态位没有改变
0x67 0x00 长度错误(Lc域不存在)
0x69 0x81 命令和文件格式不相容
0x69 0x82 不满足安全状态
0x69 0x85 使用条件不满足
0x69 0x86 不满足命令执行条件(当前EF错误)
0x6A 0x81 不支持此功能
0x6A 0x82 文件没有找到
0x6A 0x83 记录没有找到
0x6A 0x86 P1、P2不正确
0x6D 0x00 INS错误
0x6E 0x00 CLA错误
0x93 0x03 应用永久锁定
5、命令实现的其他要求
记录的读操作可以进行简化,例如只支持单条记录的读操作,不需要下一条、上一条等检索操作等等。
6、命令实现说明
在命令执行完成以后,需要动态的维护文件的记录指针。
7、命令使用示例
(1)预设环境
假设有环形记录文件,SFI为0x06,记录长度为0x10,总记录条数为0x05。
(2)命令报文
读所有记录的APDU:
00 B2 01 35 00
其中:
* 00 表示READ RECORD命令的CLA。
* B2 表示READ RECORD命令的INS。
* 01 表示READ RECORD命令的P1,表示从第一条记录开始。
* 35 表示READ RECORD命令的P2,高5字节0x06表示文件的SFI,低3字节0x05表示读取P1开始的所有记录。
* 00 表示READ RECORD命令的Le,即读取最大长度的数据。
(3)READ RECORD响应报文
卡片处理以后,READ RECORD的响应报文可以根据应用的具体情况决定。
文章评论(0条评论)
登录后参与讨论