1、命令数据体包含的字节数数据体Data命令数据体Le0 or 1响应数据最大字节数对于 C-APDU 结构的四种可能组合见下表:表10.2: C-APDU组合组合结构CLA INS P1 P22CLA INS P1 P2 Le3CLA INS P1 P2 Lc Data4CLA INS P1 P2 Lc Data Le2.1.1 Class字段编码Class类字段的最高4位(b8-b5)的含义参见下表,位4和3表示安全数据标识,位2和1表示所用的逻辑通道,逻辑通道可以从0到3。如果UICC卡支持逻辑通道机制,那么最大可获得的逻辑通道数标识在ATR的卡兼容性数据对象中,如果该数据对象不存在,则只支
2、持b2 = b1 = 0的数据通道。一个运行在支持逻辑通道的UICC上的应用,应该要么在消息校验中,从签名的计算中去除类字节,或者将其设置为缺省值。移动终端可以改变应用所使用的逻辑通道,与所使用的逻辑通道比较安全消息校验签名。 表 10.3: 类字节编码b8b7b6b5b4b3b2b1值含义-0X参见 ISO/IEC78164AX参见ISO/IEC78164,除非特殊说明。8X78164及本文档X安全消息标识(参见表 10.4)逻辑通道号表 10.4: 安全消息标识编码在终端和卡之间不使用SM私有SM格式x按照 ISO/IEC 7816-4使用安全管理不鉴别命令头鉴别命令头缺省情况下,卡不采用
3、安全消息,除非由应用特别指出。2.1.2 指令字段编码参见下表表10.5: 电信应用的指令字节编码命令 CLA 命令 APDUs SELECT FILE0XA4STATUS8XF2READ BINARYB0UPDATE BINARYD6READ RECORDB2UPDATE RECORDDCSEARCH RECORDA2INCREASE32VERIFY20CHANGE PIN24DISABLE PIN26ENABLE PIN28UNBLOCK PIN2CDEACTIVATE FILE04ACTIVATE FILE44AUTHENTICATE88GET CHALLENGE84TERMINAL P
4、ROFILE8010ENVELOPEC2FETCH12TERMINAL RESPONSE14MANAGE CHANNEL70传输导向 APDUsGET RESPONSEC02.1.3 参数字段编码参数字节P1和P2的使用和具体的命令有关。如果参数未被使用,则设置未00。具体编码方式参见具体的命令。2.1.4 Lc字段的编码该字段表示数据的长度,其为可选项。如果该字段存在,则在其后将跟着相应长度的数据字节。移动设备可以发送1到255各字节。2.1.5 数据体编码 数据体的编码与具体的命令有关。参见下面章节。2.1.6 Le字段的编码该字段表示命令发送后所期望的最大返回数据长度,其为可选项。如果该
5、字段存在,则在响应数据中应包含相应长度的数据。如果Le设置为,则表示移动终端期望最大256个字节的数据,则UICC可返回介于1到256之间长度的数据。响应APDU结构响应APDU包含一个可选的数据体和一个必须的状态字,该状态字由两个字节组成: SW1 和 SW2。数据长度由Lr指示。表10.6: 响应APDU内容编码Lr响应数据字串SW1状态字节1SW2状态字节22.1.7 UICC返回的状态字本章节描述了由UICC返回的各种状态字正常过程表 10.7:状态字编码- 正常过程90 命令正常结束 91XX 命令正常结束,并包含UICC所返回的数据的长度,用 表示。延迟过程 表10.8: 状态字编
6、码- 延迟过程错误描述93 STK忙,当前不能执行该命令。警告表 10.9: 状态字编码- 警告62 无参考信息,非易失内存没有改变81 部分返回数据可能损坏 82 读取文件或记录Le长度时,已经到结尾83 所选的文件已经无效63CX 在内部重试X次后,命令执行成功- 校验失败,还有X 次可试(参见注释)注释: 对于VERIFY PIN命令,SW1SW2 指示命令成功执行,但是PIN不正确,并可以重试 次。对于任何其它命令,表示“在内部重试X次后,命令执行成功”执行错误表 10.10: 状态字编码- 执行错误6465 无参考信息,非易失内存改变 内存错误检查错误表 10.11: 状态字编码-
7、检查错误67- 长度错误 除了SW2 = 的情况下,该状态字与命令相关6B 错误的参数 P1-P26D 指令字段不支持或错误6E 类字段不支持6F 技术问题,无精确诊断信息- 除了SW2 = CLA字段中的功能不支持表10.12: 状态字编码- CLA字段中的功能不支持68 无参考信息 不支持逻辑通道 不支持安全消息 命令不允许执行表10.13: 状态字编码-命令不允许执行69 命令与该文件结构不兼容 不满足安全条件 鉴权/PIN被禁止 引用的数据失效85 使用条件不满足86 命令不允许执行(没有选中EF)错误的参数表10.14: 状态字编码-错误的参数6A80 数据体参数不正确 功能不支持 文件没有找到 记录没有找到 参数P1-P2不正确87 Lc 与P1-P2不一致 引用的数据没有找到应用错误表10.15: 状态字编码-应用错误9850 INCREASE 命令不能执行,已经达到最大值 鉴权错误(与应用相关) 应用可以定义自己的错误代码 2.1.8 命令的状态字下表表示对于每一个命令所可能返回的状态字(用*号注明)。表10.16: 命令和状态字Status WordsSELECTVERIFY PIN90 00*91 XX93 0098 5098 6262 0062 8162 8262 8363 CX
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1