智能卡ISO7816-4规范(中文版) 联系客服

发布时间 : 星期日 文章智能卡ISO7816-4规范(中文版)更新完毕开始阅读8c465adc2f3f5727a5e9856a561252d381eb2051

表29 WRITE BINARY命令APDU CLA 按5.4.1定义的 INS ‘DO’ P1—P2 见以下文本 Lc字段 后续数据字段的长度 数据字段 待写的数据单元串 Le字段 空 如果在P1中b8=1,则P1的b7和b6显域 0(RFU若干位),P1的b5至b1是短EF标

识符,并且P2是在从文件开始的数据单元中被写的第1个字节的偏移。

如果在P1中b8=0,则P1‖P2是在从文件开始的数据单元中被写的第1个字节的偏移。 6.2.4 响应报文(标称情况)

表30 WRITE BINARY响应APDU 数据字段 空 SW1—SW2 6.2.5 状态条件 下列特定报警条件可能发生。 ——SW1=‘63’,同时SW2= ·‘CX’:计数器(成功的写,但是在使用内部重试例行程序之后,‘X’≠0表示重试数;‘X’=0意味着没有计数器被提供)。

下列特定差错条件可能发生。 ——SW1=‘65’,同时SW2= ·‘81’:存储器故障(不成功的写) ——SW1=‘67’,同时SW2= ·‘00’:错误的长度(错误的Lc字段) ——SW1=‘69’,同进SW2= ·‘81’:命令与文件结构不兼容 ·‘82’:安全状态不被满足 ·‘86’:命令不被允许(没有当前EF) ——SW1=‘64’,同时SW2= ·‘81’:功能不被支持 ·‘82’:文件未被找到 ——SW1=‘6B’,同时SW2= ·‘00’:错误的参数(偏移超出EF)。 6.3 UPDATE BINARY命令 6.3.1 定义和范围

UPDATE BINARY命令报文启动使用在命令APDU中给出的位来更新早已呈现在EF中的位。

6.3.2 使用与安全的条件

当命令包含了有效的短EF标识符时,它将文件置位为当前EF。

根据当前选择的EF来处理该命令。仅当安全状态满足了用于更新功能的安全属性时,才能执行该命令。

如果命令被施加到不带有透时结构的EF,则应放弃该命令。 6.3.3 命令报文

表31 UPDATE BINARY命令APDU

CLA按 INS P1—P2 数据字段 Le字段 按5.4.1定义的 见以下文本 后续数据字段的长度 待更新的数据单元串 空 如果在P1中b8=1,则P1的b7和b6置为0(RFU若干位),P1的b5至b1是短EF标识符,并且P2是在从文件开始的数据单元中被更新的第1个字节的偏移。

如果在P1中b8=0,则P1‖P2是在从文件开始的数据单元中被更新的第1个字节的偏移。

6.3.4 响应报文(标称情况)

表32 UPDATE BINARY响应APDU 数据字段 空 SW1—SW2 状态字节

6.3.5 状态条件

下列特定报警条件可能发生。 ——SW1=‘63’,同时SW2= ·‘CX’:计数器(成功的更新,但是在使用内部重试例行程序之后,‘X’≠0表示重试数’‘X’=0意味着没有计数器被提供)。

下列特定差错条件可能发生。 ——SW1=‘65’,同时SW2= ·‘81’:存储器故障(不成功的更新)。 ——SW1=‘67’,同时SW2= ·‘00’:错误的长度(错误的Lc字段)。 ——SW1=‘69’,同时SW2= ·‘81’:命令与文件结构不兼容。 ·‘82’:安全状态不被满足。 ·‘86’:命令不被允许(没有当前EF)。 ——SW1=‘6A’,同时SW2= ·‘81’:功能不被支持。 ·‘82’:文件未被找到。 ——SW1=‘69’,同时SW2= ·‘00’:错误的参数(偏移超出EF)。 6.4 ERASE BINARY命令 6.4.1 定义和范围

ERASE BINARY命令报文顺序地从给出的偏移开始将EF的内容的一部分置为其逻辑擦除的状态。

6.4.2 使用与安全的条件

当命令包含了有效的短EF标识符时,它将文件置为当前EF。

根据当前选择的EF来处理该命令。仅当安全状态满足了用于擦除功能的安全属性时,才能执行该命令。

如果命令被施加到不带有透明结构的EF,则应放弃该命令。 6.4.3 命令报文

表33 ERASE BINARY命令APDU

CLA INS P1—P2 Lc字段 数据字段 Le字段 按5.4.1定义的 ‘OE’ 见以下文本 空或‘02’ 见以下文本 空 如果在P1中b8=1,则P1的b7和b6置为‘0’(RFU若干位),P1的b5至b1是短EF标识符,P1是在从文件开始的数据单元中被擦除的第1个字节的偏移。

如果在P1中b8=0,则P1‖P2是在从文件开始的数据单元中被擦除的第1个字节的偏移。

如果数据字段呈现,它编码不被擦除的第1个数据单元的偏移。该偏移应大于在P1—P2中编码的一个偏移。当数据字段为空时,该命令擦除到该文件的结束端。 6.4.4 响应报文(标称情况)

表34 ERASE BINARY响应APDU 数据字段 空 SW1—SW2 状态字节

6.4.5 状态条件

下列特定报警条件可能发生。 ——SW1=‘63’,同时SW2= ·‘CX’:计数器(成功的擦除,但是在使用内部重试例行程序之后,‘X’≠0表示重试数,‘X’=0意味着没有计数器被提供)。

下列特定差错条件可能发生: ——SW1=‘65’,同时SW2= ·‘81’:存储器故障(不成功的擦除)。 ——SW1=‘67’:同时SW2= ·‘00’:错误的长度(错误的Le字段)。 ——SW1=‘69’,同时SW2= ·‘81’:命令与文件结构不兼容。 ·‘82’:安全状态不被满足。 ·‘86’:命令不被允许(没有当前EF)。 ——SW1=‘6A’,同时SW2= ·‘81’:功能不被支持 ·‘82’:文件未找到 ——SW1=‘6B’,同时SW2= ·‘00’:错误的参数(偏移超出EF)。 6.5 READ RECORD命令 6.5.1 定义和范围

READ RECODE响应报文给出了EF的规定记录的内容或EF的一个记录开始部分的内容。 6.5.2 使用与安全的条件

仅当安全状态满足了用于读功能的该EF的安全属性时,才能执行该命令。 如果在发出命令的时刻,当前选择了EF,则该命令可以被处理,而无需该文件的标识。 当命令包含了有效的短EF标识符时,它将文件置为当前EF,并且复位当前记录指针。 如果命令被施加到不带有记录结构的EF,则应放弃该命令。 6.5.3

表35 READ RECORD(S)命令APDU

CLA 按5.4.1定义的 INS ‘B2’ P1 记录号或被读的第1个记录的标识符(‘00’ 表示当前记录) P2 引用控制 按照表36 Lc字段 空 数据字段 空 Le字段 被读字节数 表36 引用控制P2的编码 b8 b7 b6 b5 b4 b3 b2 b1 含 义 0 0 0 0 0 - - - —当前选择的EF × × × × × - - - —短EF标识符 (不全相等) 1 1 1 1 1 - - - RFU - - - - - 1 × × 利用P1中的记录号 - - - - - 1 0 0 —READ RECODE#P1 - - - - - 1 0 1 —读从P1到最后的所有记录 - - - - - 1 1 0 —读从最后到P1的所有记录 - - - - - 1 1 1 RFU - - - - - 0 × × 利用P1中的记录标识符 - - - - - 0 0 0 —读第1个出现(标识符) - - - - - 0 0 1 —读最后一个出现(标识符) - - - - - 0 1 0 —读下一个出现(标识符) - - - - - 0 1 1 —读先前一个出现(标识符) 6.5.4 响应报文(标称情况) 如果Le字段仅包含了若干‘0’,则根据P2的b3 b2 b1,并且对于短的长度在不超过256的范围内,或者对扩充的长度在不超过65536的范围内,该命令应完整地读出:

——单个请求的记录; ——或请求的记录序列

表37 READ RECODE(S)响应APDU 数据字段 Lr(可以等于Le)字节 见表38 SW1—SW2 状态字节

当记录是简单TLV数据对象(见5.4.5)时,表38示出了响应报文数据字段的格式。

表38—1 当读一个记录时,响应的数据字段

情况a——部分读的一个记录 Tn Ln 记录中的前面若干数据字节 1个字节 1个或3个字节 ————————-----------------Le字节————————————---------------Le字段不仅包含了‘0’时,该情况适用。

情况b——完整读的一个记录 Tn Ln 记录的整个数据字节 1个字节 1个或3个字节 Ln字节 当Le字段仅包含若干‘0’时,该情况适用。

表38—2 当读几个记录时,响应的数据字段