版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CPU卡APDU指令介绍1. APDU指令格式根据7816-4规范,从终端发出的命令和卡片响应的信息必须遵从以下4种格式。情形1:命令 :CLAINSP1P200响应 :SW1SW2情形2:命令:CLAINSP1P2Le响应:Le字节的DATASW1SW2情形3:命令:CLAINSP1P2LcDATA响应 :SW1SW2情形4:命令:CLAINSP1P2LcDATALe 响应:Le字节的DATASW1SW21.1 APDU命令格式命令由4字节的命令头和命令体组成,见图1。命令头(必备体)命令体(可选体)CLAINSP1P2LcDATALe图1 APDU命令格式1.1.1 命令头域命令头定义报文
2、的内容如下表所示:表1 命令头域代码长度(byte)值(Hex)描述CLA1X0不带安全报文的命令X4带安全报文的命令INS1XX指令代码P11XX参数1P21XX参数21.1.2 命令体命令体中各项是可选的。Lc命令数据域中DATA的长度,该长度不可超过255字节。Data 命令和响应中的数据域。Le响应数据域中期望数据的长度。Le=00,表示需要最大字节数, 该长度不可超过255字节。1.2 APDU响应数据格式APDU命令的应答由数据和状态字组成,见下图2。数据状态字响应中接收的数据位串SW1SW2图2 APDU响应数据格式1.2.1 返回数据返回数据域是可选项。1.2.2 返回状态字(
3、SW1SW2)SW1 SW2是卡片执行命令的返回代码,任何命令的返回信息都至少由一个状态字组成。1.3 状态字SW1SW2意义状态字说明了命令处理的情况,即命令是否被正确执行,如果未被正确执行,原因是什么。状态字由2部分组成:SW1(status word1):表示命令处理状态;SW2(status word2):表示命令处理限定。表2 状态字SW1-SW2SW1SW2Description9000正确执行61XX正确执行XX表示响应数据长度。可用Get Response命令取回响应数据。(仅用于T=0)6281回送的数据可能错误6283选择文件无效,文件或密钥校验错误63CXX表示还可再试次
4、数6400状态标志未改变6581写EEPROM不成功6700错误的长度6900CLA与线路保护要求不匹配6901无效的状态6981命令与文件结构不相容6982不满足安全状态6983密钥被锁死6985使用条件不满足6987无安全报文6988安全报文数据项不正确6A80数据域参数错误6A81功能不支持或卡中无MF或卡片已锁定6A82文件未找到6A83记录未找到6A84文件无足够空间6A86参数P1 P2错误6B00在达到Le/Lc字节之前文件结束,偏移量错误6CXXLe错误6E00无效的CLA6F00数据无效9302MAC错误9303应用已被锁定9401金额不足9403密钥未找到9406所需的MA
5、C不可用注意:当SW1的高半字节为9,且低半字节不为0时,其含义依赖于相关应用。当SW1的高半字节为6,且低半字节不为0时,其含义与应用无关。2. APDU指令2.1 常见APDU指令介绍以下介绍的指令均为交通行业常见指令,涵盖ED/EP应用和电子现金应用,针对非接触卡片。l 通用指令SELECT(选择)READ BINARY(读二进制)READ RECORD(读记录)UPDATE BINARY(修改二进制)UPDATE RECORD(修改记录)GET RESPONSE(取响应)GET CHALLENGE(产生随机数)EXTERNAL AUTHENTICATION(外部认证)INTERNAL
6、AUTHENTICATION(内部认证)VERIFY(校验)PIN CHANGE/UNBLOCK(个人密码修改/解锁)APPLICATION BLOCK(应用锁定)APPLICATION UNBLOCK(应用解锁)CARD BLOCK(卡片锁定)l 电子钱包电子存折一般交易相关指令GET BALANCE(读余额)GET TRANSACTION PROVE(取交易认证)CHANGE PIN(修改个人密码)INITIALIZE FOR LOAD(圈存初始化)CREDIT FOR LOAD(圈存)INITIALIZE FOR PURCHASE(消费初始化)INITIALIZE FOR CASH WI
7、THDRAW(取现初始化)DEBIT FOR PURCHASE/CASH WITHDRAW(消费/取现)INITIALIZE FOR UNLOAD(圈提初始化,仅用于电子存折)DEBIT FOR UNLOAD(圈提,仅用于电子存折)INITIALIZE FOR UPDATE(修改透支限额初始化,仅用于电子存折)UPDATE OVERDRAW LIMIT(修改透支限额,仅用于电子存折)APPEND RECORD(增加记录)l 复合应用模式专用指令INITIALIZE FOR CAPP PURCHASE(复合应用消费初始化)UPDATE CAPP DATA CACHE(更新复合应用数据缓存)DEB
8、IT FOR CAPP PURCHASE(复合应用消费)l 电子现金专用指令GENERATE AC(生成应用密文)GET DATA(取数据)PUT DATA(设置数据)GET PROCESSING OPTIONS(获取处理选项)表3 APDU命令集命 令CLAINSP1P2SELECT(选择)00A4040002READ BINARY(读二进制)80B0SFI偏移READ RECORD(读记录)00B2记录号XXUPDATE BINARY(修改二进制)00 04D6SFI偏移UPDATE RECORD(修改记录)00 04DC记录号XXGET RESPONSE(取响应)00C00000GET
9、CHALLENGE(产生随机数)00840000EXTERNAL AUTHENTICATION(外部认证)00820000INTERNAL AUTHENTICATION(内部认证)00880000VERIFY(校验)002000XXPIN CHANGE/UNBLOCK(个人密码修改/解锁)842400000102APPLICATION BLOCK(应用锁定)841E0000APPLICATION UNBLOCK(应用解锁)84180000CARD BLOCK(卡片锁定)84160000GET BALANCE(读余额)805C000XGET TRANSACTION PROVE(取交易认证)805
10、A00XXCHANGE PIN(修改个人密码)805E0100INITIALIZE FOR LOAD(圈存初始化)8050000XCREDIT FOR LOAD(圈存)80520000INITIALIZE FOR PURCHASE(消费初始化)8050010XINITIALIZE FOR CASH WITHDRAW(取现初始化) 80500201DEBIT FOR PURCHASE/CASH WITHDRAW(消费/取现)80540100INITIALIZE FOR UNLOAD(圈提初始化)80500501DEBIT FOR UNLOAD(圈提)80540300INITIALIZE FOR
11、UPDATE(修改初始化)80500401UPDATE OVERDRAW LIMIT(修改透支限额)80580000APPEND RECORD(增加记录)00 04E200XXINITIALIZE FOR CAPP PURCHASE(复合应用消费初始化)80500302UPDATE CAPP DATA CACHE(更新复合应用数据缓存)80DCXXXXDEBIT FOR CAPP PURCHASE(复合应用消费)80540100GENERATE AC(生成应用密文)80AEXX00GET DATA(取数据)80CA待访问标签PUT DATA(设置数据)04DA待修改标签GET PROCESSI
12、NG OPTIONS(获取处理选项)80A80000注意:通用指令是电子钱包、电子存折、电子现金都支持的,但是针对不同的应用,某些指令的具体参数细节可能略有差异,可参照相关规范。2.2 APDU指令分类按照指令操作对象,可分为以下类别:l 文件选择:selectl 数据存取:read/update binary,read/update/append record,get/put datal 卡片安全相关:verify,pin change/unblock,change pin,external authentication,internal authentication,application
13、 block,application unblock,card block,get challengel 交易相关:get balance,get transaction prove,initialize for load,credit for load,initialize for purchase,initialize for cash withdraw ,debit for purchase/cash withdraw,initialize for unload,debit for unload,initialize for update,update overdraw limit,in
14、itialize for capp purchase,update capp data cache,debit for capp purchase,generate ac,get processing optionsl 其他:get response2.2.1 SELECT命令文件选择指令一般针对目录文件,可以是主目录MF(PSE),也可以是DF或ADF,可以通过文件标识FID或文件名字AID来选择,是一种显示选择方式。文件选择指令要求返回数据中必须包含FCI,FCI描述了文件的特性,在个人化期间建立。FCI必须符合特定的模板,具体模板格式跟所选择的文件类别有关。执行选择指令后,指令中的DF/
15、ADF成为当前目录,后续的指令皆针对该应用进行。如果要切换目录,必须再次执行选择指令。对EF文件的选择一般为隐式选择,使用SFI方式,包含在数据存取指令参数中。关于DF和EF的组织关系,见附录A。2.2.1.1 命令报文SELECT命令报文编码见表4:表4 SELECT命令报文代码 值CLA00INSA4P1引用控制参数(见表62)P200第一个或仅有一个02下一个Lc05-10Data文件名Le00表5定义了命令报文中的引用控制参数:表5 SELECT命令引用控制参数b8b7b6b5b4b3b2b1 含 义 0 0 0 0 01通过文件名选择 0 02.2.1.2 命令报文数据域命令报文数据
16、域应包括所选择的PSE名、DF名或AID。2.2.1.3 响应报文数据域响应报文中数据域应包括所选择的PSE、DDF或ADF的FCI。表63到表65规定了此定义了所用的标志。本规范不规定FCI中回送的附加标志。表6定义了成功选择PSE后回送的FCI:表6 SELECT PSE的响应报文(FCI)标 志 值 存在方式6FFCI模板 M84DF名 MA5FCI专用数据 M88目录基本文件的SFI M表7定义了成功选择DDF后回送的FCI:表7 SELECT DDF的响应报文(FCI)标 志 值 存在方式6FFCI模板 M84DF名 MA5FCI专用数据 M88目录基本文件的SFI M表8定义了成功
17、选择ADF后回送的FCI:表8 SELECT ADF的响应报文(FCI)标 志 值 存在方式6FFCI模板 M84DF名 MA5FCI专用数据 M9F0C发卡方自定数据的FCI O表9定义了ADF回送的A5中包含的数据,其中必须包含标签为9F08的应用版本号,其数值由全国金融标准化技术委员会负责定义和维护。表9 SELECT ADF的应答报文中的FCI数据专用模板A5FCI数据专用模板M50应用标签O87应用优先指示符O9F08应用版本号M9F12应用优先名称O2.2.2 GET RESPONSE 命令2.2.2.1 定义和范围该指令只用于T=0协议卡片。当APDU不能用现有协议传输时,GET
18、 RESPONSE命令提供了一种从卡片向接口设备传送APDU(或APDU的一部分)的传输方法。2.2.2.2 命令报文GET RESPONSE命令报文编码见表10:表10 GET RESPONSE命令报文代码 值CLA00INSC0P100P200Lc不存在Data不存在Le响应的期望数据最大长度2.2.2.3 命令报文数据域命令报文数据域不存在。2.2.2.4 响应报文数据域响应报文数据域的长度由Le的值决定。如果Le的值为零,在附加数据有效时,卡片必须回送状态码6CXX,否则回送状态码6F00。2.2.2.5 响应报文状态码此命令执行成功的状态码是9000。表11列出正常处理情况:表11
19、GET RESPONSE命令报文SW1SW2含 义61XX 正常处理XX表示可以通过后续GET RESPONSE命令得到的额外数据长度IC卡可能回送的警告状态码如表12所示:表12 GET RESPONSE警告状态SW1SW2 含 义6281回送的数据可能有错IC卡可能回送的错误状态码如表13所示:表13 GET RESPONSE错误状态SW1SW2 含 义6700长度错误(Le 不正确)6A86参数P1 P2不正确6CXX长度错误(Le 不正确,XX表示实际长度)6D00INS不支持或错误6E00CLA不支持或错误6F00数据无效2.2.2.6 响应报文状态码此命令执行成功的状态码是9000
20、。IC卡可能回送的警告状态码如表14所示:表14 SELECT警告状态SW1SW2 含 义6283选择的文件无效6284FCI格式与P2指定的不符IC卡可能回送的错误状态码如表15所示:表15 SELECT错误状态SW1SW2 含 义6400标志状态位没变6700P1 P2与Lc不一致6A81不支持此功能6A82未找到文件6A86参数P1 P2不正确6D00INS不支持或错误6E00CLA不支持或错误9303应用永久锁定注:SW1 SW2=6A82用于表示当卡支持部分文件名选择时,没有与此部分文件名相匹配的文件。2.2.3 数据存取指令数据存取指令,对卡内数据进行读取或修改,指令参数跟卡内数据
21、存储格式有关,主要分三类:l 二进制数据(读二进制、修改二进制),针对二进制文件,如read/update binaryl 记录数据(读记录、修改记录、增加记录),针对记录文件,如read/update/append recordl TLV格式数据(取数据、设置数据)、针对金融安全数据,如get/put data三种数据及相关文件在卡内的存在形式,参见附录A。2.2.3.1 READ BINARY命令2.2.3.1.1 定义和范围READ BINARY命令用于读取二进制文件的内容(或部分内容)。2.2.3.1.2 命令报文READ BINARY命令报文编码见表16:表16 READ BINAR
22、Y命令报文代码 值CLA00或04INSB0P1见表54P2从文件中读取的第一个字节的偏移地址Lc不存在;(CLA=04时除外)Data不存在;(CLA=04时,应包括MAC)Le00表17定义了命令报文中的引用控制参数:表17 READ BINARY命令引用控制参数b8b7b6b5b4b3b2b1 含 义X1读取模式:-用SFI方式00RFU(如果b8=1)XXXXXSFI(取值范围21-30)2.2.3.1.3 命令报文数据域一般情况下,命令报文数据域不存在。当使用安全报文时,命令报文数据域中应包含MAC。MAC的计算方法和长度由应用决定。2.2.3.1.4 响应报文数据域当Le的值为零时
23、,只要文件的最大长度在256(短长度)或65536(扩展长度)之内,则其全部字节将被读出。2.2.3.1.5 响应报文状态码此命令执行成功的状态码是9000。IC卡可能回送的警告状态码如表18所示:表18 READ BINARY警告状态SW1SW2 含 义6281部分回送的数据可能有错6282文件长度<LeIC卡可能回送的错误状态码如表19所示:表19 READ BINARY错误状态SW1SW2 含 义6700长度错误(Lc域为空)6981命令与文件结构不相容6982不满足安全状态6986不满足命令执行的条件(非当前EF)6A81不支持此功能6A82未找到文件6A86P1,P2不正确6B
24、00参数错误(偏移地址超出了EF)6CXX长度错误(Le错误;XX为实际长度)6D00INS不支持或错误6E00CLA不支持或错误2.2.3.2 UPDATE BINARY命令2.2.3.2.1 定义和范围UPDATE BINARY命令报文使用命令APDU中给定的数据修改EF文件中已有的数据。2.2.3.2.2 命令报文UPDATE BINARY命令报文编码见表20:表20 UPDATE BINARY命令报文代码 值CLA00或04INSD6P1见表69P2要修改的第一个字节的偏移地址Lc后续数据域的长度Data修改用的数据+报文鉴别代码(MAC)数据元(4字节)Le不存在 CLA = 00
25、不需要安全报文。CLA = 04 需要安全报文。表21定义了命令报文中的引用控制参数:表21 UPDATE BINARY命令引用控制参数b8b7b6b5b4b3b2b1 含 义X1读取模式:-用SFI方式00RFU(如果b8=1)XXXXXSFI(取值范围21-30) 2.2.3.2.3 命令报文数据域命令报文数据域:包括更新原有数据的新数据。报文鉴别代码(MAC)数据元:4字节2.2.3.2.4 响应报文数据域响应报文数据域不存在。2.2.3.2.5 响应报文状态码此命令执行成功的状态码是9000。IC卡可能回送的警告状态码如表22所示:表22 UPDATE BINARY警告状态SW1SW2
26、 含 义63CX使用内部重试程序更新成功X=0表示不提供计数器X¹0表示重试次数 IC卡可能回送的错误状态码如表23所示:表23 UPDATE BINARY错误状态SW1SW2 含 义6581内存失败(修改失败)6700长度错误(Lc域为空)6981命令与文件结构不相容6982不满足安全状态6984引用数据无效6986不满足命令执行的条件(不是当前的EF)6A81不支持此功能6A82未找到文件6A86P1,P2参数错误6B00参数错误(偏移地址超出了EF)6D00INS不支持或错误6E00CLA不支持或错误9303应用永久锁定 2.2.3.3 READ RECORD命令2.2.3.3
27、.1 定义和范围READ RECORD命令用于读取记录文件的内容。IC卡的响应由回送记录组成。2.2.3.3.2 命令报文READ RECORD命令报文编码见表24:表24 READ RECORD命令报文代码 值CLA00或04INSB2P1记录的个数P2引用控制参数(见表58)Lc不存在(CLA=04时除外)Data不存在(CLA=04时除外)Le00 表25定义了命令报文中的引用控制参数:表25 READ RECORD命令引用控制参数b8b7b6b5b4b3b2b1 含 义XXXXXSFI 1 0 0P1为记录的个数 2.2.3.3.3 命令报文数据域当无安全报文使用时,命令报文数据域不存
28、在。使用安全报文时,命令报文的数据域中应包含MAC。MAC的计算方法和长度由应用决定。2.2.3.3.4 响应报文数据域所有执行成功的READ RECORD命令的响应报文数据域由读取的记录组成。2.2.3.3.5 响应报文状态码此命令执行成功的状态码是9000。IC卡可能回送的警告状态码如表26所示:表26 READ RECORD警告状态SW1SW2 含 义6281回送的数据可能有错 IC卡可能回送的错误状态码如表27所示:表27 READ RECORD错误状态SW1SW2 含 义6400标志状态位没变6700长度错误(Lc域不存在)6981命令与文件结构不相容6A81不支持此功能6A82未找
29、到文件6A83未找到记录6A86P1,P2不正确6D00INS不支持或错误6E00CLA不支持或错误 2.2.3.4 UPDATE RECORD命令2.2.3.4.1 定义和范围UPDATE RECORD 命令报文用命令APDU中给定的数据更改指定的记录。在使用当前记录地址时,该命令将在修改记录成功后重新设定记录指针。2.2.3.4.2 命令报文UPDATE RECORD 命令报文编码见表28:表28 UPDATE RECORD 命令报文代码 值CLA00 或04INSDCP1P1=00表示当前记录P1¹00指定的记录号P2见表73Lc后续数据域的长度Data更新原有记录的新记录+报
30、文鉴别代码(MAC)数据元(4字节)Le不存在 CLA = 00 不需要安全报文。CLA = 04 需要安全报文。表29定义了命令报文中的引用控制参数:表29 UPDATE RECORD 命令引用控制参数b8b7b6b5b4b3b2b1 含 义XXXXXSFI000第一个记录001最后一个记录010下一个记录011上一个记录100记录号在P1中给出 其余值RFU 2.2.3.4.3 命令报文数据域命令报文数据域由更新原有记录的新记录和报文鉴别代码(MAC)数据元(4字节)组成。2.2.3.4.4 响应报文数据域响应报文数据域不存在。2.2.3.4.5 响应报文状态码此命令执行成功的状态码是90
31、00。IC卡可能回送的警告状态码如表30所示:表30 UPDATE RECORD 警告状态SW1SW2 含 义63CX使用内部重试程序更新成功X=0表示不提供计数器X¹0表示重试次数 IC卡可能回送的错误状态码如表31所示:表31 UPDATE RECORD 错误状态SW1SW2 含 义6581内存失败(修改失败)6700长度错误(Lc域为空)6981命令与文件结构不相容6982不满足安全状态6986不满足命令执行的条件(不是当前的EF)6A81不支持此功能6A82未找到文件6A83未找到记录6A84文件中存储空间不够6D00INS不支持或错误6E00CLA不支持或错误 2.2.3.
32、5 APPEND RECORD命令2.2.3.5.1 定义和范围APPEND RECORD命令用于对变长记录文件追加新记录。2.2.3.5.2 命令报文增加记录命名报文编码在32中:表32 激活非接触通道命令报文编码: 代码值CLA04INSE2P100P2见表9.3-2Lc后续数据域的长度Data追加的新记录Le不存在表33定义了命令报文中的引用控制参数:表33 APPEND RECORD命令引用控制参数b8b7b6b5b4b3b2b1含义xxxxxSFI000追加新记录2.2.3.5.3 命令报文数据域命令报文数据域由追加的新记录组成。2.2.3.5.4 响应报文数据域响应报文数据域不存在
33、。2.2.3.5.5 响应报文状态码此命令执行成功的状态码是9000。IC卡可能回送的错误状态码如表34所示:表34 APPEND RECORD错误状态SW1SW2含义6581内存失败6700长度错误6981命令与文件结构不相容6982不满足安全状态6A81不支持此功能6A82未找到文件6A84文件中存储空间不够2.2.3.6 GET DATA命令2.2.3.6.1 定义和范围下面描述的是在非金融交易过程中在特殊设备上使用GET DATA命令访问到的数据和一个金融交易过程中,使用GET DATA命令访问数据。l 特殊设备下表列出的静态数据可以在发卡行控制的特殊设备上通过GET DATA命令访问
34、。普通终端不能用取数据命令获得。表35 使用GET DATA命令访问的静态数据数据元应用货币代码应用缺省行为连续脱机交易限制数(国际-国家)连续脱机交易限制数(国际-货币)累计脱机交易金额限制数累计脱机交易金额限制数(双货币)累计脱机交易金额上限货币转换因子发卡行认证指示位发卡行国家代码连续脱机交易下限连续脱机交易上限第二应用货币代码l 金融交易GET DATA命令用来从当前应用中取得一个没有封装在记录中的基本数据对象。GET DATA命令可以用来获取基本数据对象ATC(标签为'9F36')、上次联机ATC寄存器(标签为'9F13')或密码重试计数器(标签为
35、39;9F17')、日志格式(标签为'9F4F')。 2.2.3.6.2 命令报文GET DATA命令报文根据下表编码 :表36 GET DATA命令报文编码值CLA80 INSCAP1 P2要访问数据的标签Lc不存在数据域不存在Le002.2.3.6.3 命令报文数据域命令报文没有数据域。2.2.3.6.4 响应报文数据域响应报文的数据域中包含有如命令报文的P1 P2所述的基本数据对象。(即包括它的标签和它的长度)。2.2.3.6.5 响应报文状态码'9000'编码表示命令成功执行。如果命令中请求的数据是专有数据不能返回,卡片返回“6A88”。2.2.
36、3.7 PUT DATA命令2.2.3.7.1 定义和范围PUT DATA命令用来修改卡片中的一些基本数据对象的值。只有有标签的数据才能使用这条命令修改。此命令不能用来修改结构数据对象。下表列出的数据可以使用此命令修改。表37 使用PUT DATA命令修改的数据数据元连续脱机交易限制数(国际-国家)连续脱机交易限制数(国际-货币)累计脱机交易金额限制数累计脱机交易金额限制数(双货币)累计脱机交易金额上限货币转换因子连续脱机交易下限(9F58)连续脱机交易上限(9F59)2.2.3.7.2 命令报文PUT DATA命令报文根据下表编码。表38 PUT DATA命令报文编码值CLA04INSDAP
37、1 P2要修改的数据对象的标签Lc数据域字节数数据域数据对象的新值(不包括标签和长度)和MAC数据Le不存在2.2.3.7.3 命令报文数据域命令数据域中包括的是要修改的数据对象的值,后面家一个4到8字节的MAC。MAC的计算见附录Error! Reference source not found.中描述。2.2.3.7.4 响应报文数据域响应报文没有数据域。2.2.3.7.5 响应报文状态码9000编码表示命令成功执行。下表列出了命令可能返回的警告信息:表39 PUT DATA命令的警告响应码SW1SW2含义6200没有信息返回6281数据可能被破坏下表列出了命令可能返回的错误信息表40 P
38、UT DATA命令的错误响应码SW1SW2含义6400没有准确诊断6581内存失败6700长度错误6882不支持安全报文6982安全状态不满足6986命令不允许6987安全报文数据对象丢失6988安全报文数据对象不正确6A80错误的参数6A81功能不支持6A84文件中没有足够空间6A85Lc和TLV结构不一致2.2.4 卡片安全指令verify,pin change/unblock,change pin,external authentication,internal authentication,application block,application unblock,card block
39、,get challenge根据卡片的安全状态产生的方式,安全指令又可做以下分类:表41 安全指令分类安全状态产生方式reset或PPS后/执行包含一条或多条命令的认证过程后application blockapplication unblockcard block口令验证verifypin change/unblockchange pin密钥认证external authenticationinternal authentication安全的报文传递/注意:关于卡片的安全机制,参见附录B。安全报文传递适用于跟卡片安全相关的指令执行过程中。安全报文传递针对文件操作或密钥操作。具体安全报文的操作
40、见附录C。get challenge指令取出的随机数要用于安全相关的指令的计算过程中,所以在PIN以外的安全指令执行之前,都需要先执行该指令。在ED/EP应用和金融借贷记应用中,以上指令会存在细节上的差别,具体差异参照对应的卡片规范。以下列出常用的ED/EP应用中的指令细节:2.2.4.1 APPLICATION BLOCK 命令2.2.4.1.1 定义和范围APPLICATION BLOCK命令使当前选择的应用失效。当APPLICATION BLOCK命令成功地完成应用临时锁定后,用SELECT命令选择已临时锁定的应用,将回送状态码“不支持此功能”(SW1 SW2=6A81)。同时回送FCI
41、(对于T=0卡片,需要用GET RESPONSE 指令取回)。当APPLICATION BLOCK 命令成功完成应用永久锁定后,此后执行所有命令,卡片将回送状态码“应用永久锁定”(SW1 SW2 = 9303)。对其他命令的影响根据不同应用而定。2.2.4.1.2 命令报文APPLICATION BLOCK命令报文编码见表42:表42 APPLICATION BLOCK命令报文代码 值CLA84INS1EP100,其他值保留为将来使用P200或01Lc数据字节数Data报文鉴别代码(MAC)数据元;根据本规范附录C中的规定进行编码Le不存在 P2=00:此命令执行成功后可锁定应用,但该应用可以
42、用APPLICATION UNBLOCK命令解锁。P2=01:此命令执行成功后将永久锁定应用。2.2.4.1.3 命令报文数据域命令报文数据域包括根据本文附录C中的规定进行编码的报文鉴别码(MAC)数据元。2.2.4.1.4 响应报文数据域响应报文数据域不存在。2.2.4.1.5 响应报文状态码无论应用是否已经失效,此命令执行成功的状态码是9000。IC卡可能回送的警告状态码如表43所示:表43 APPLICATION BLOCK警告状态SW1SW2 含 义6200无信息提供6281回送数据可能出错6283选择文件无效6A81不支持此功能9003应用永久锁定 IC卡可能回送的错误状态码如表44
43、所示:表44 APPLICATION BLOCK错误状态SW1SW2 含 义6400状态标志位未变6581内存失败6700Lc长度错误6982不满足安全状态6984引用数据无效6987安全报文数据项丢失6988安全报文数据项不正确6A86参数P1 P2不正确6A88未找到引用数据6D00INS不支持或错误6E00CLA不支持或错误 2.2.4.2 APPLICATION UNBLOCK 命令2.2.4.2.1 定义和范围APPLICATION UNBLOCK命令用于恢复当前应用。当APPLICATION UNBLOCK命令成功地完成后,由APPLICATION BLOCK命令产生的对应用命令响应的限制将被取消。2.2.4.2.2 命令报文APPLICATION UNBLOCK命令报文编码见表45:表45 APPLICATION UNBLOCK命令报文代码 值CLA84INS18P100,其他值保留为将来使用P200,其他值保留为将来使用Lc数据字节数Data报文鉴别代码(MAC)数据元;根据本规范附录C中的规定进行编码Le不存在 2.2.4.2.3 命令报文数据域命令报文数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青少年如何预防糖尿病
- 成都高尔夫球场租赁合同范本
- 电力公司入驻管理
- 酒店网络营销人员劳动合同模板
- 融资风险防范确保企业资金安全
- 智能家居招投标基本知识介绍
- 国有企业采购政策制定
- 电力工程钢板租赁协议
- 市场营销技能工资管理
- 环保科技公司人事经理聘用合同
- 广东省广州市四校2024-2025学年九年级上学期11月期中化学试题(含答案)
- 浙江省杭州市2023-2024学年高二上学期期末学业水平测试政治试题 含解析
- 科技公司研发项目风险防控制度
- 【课件】Unit+4+Section+B+1a-1d+课件人教版英语七年级上册
- 海南省申论真题2022年(C类行政执法)
- 大数据行业分析报告
- (5篇)国开2024年秋形策大作业:中华民族现代文明有哪些鲜明特质?建设中华民族现代文明的路径是什么
- 错牙合畸形的早期矫治(口腔正畸学课件)
- 江苏省徐州市沛县第五中学2024-2025学年九年级上学期11月期中考试数学试题
- 2024年中国酶免试剂市场调查研究报告
- GB/T 44578-2024热塑性塑料隔膜阀
评论
0/150
提交评论