为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

居民健康卡用户卡命令集

2017-06-05 31页 doc 412KB 22阅读

用户头像

is_531654

暂无简介

举报
居民健康卡用户卡命令集居民健康卡用户卡命令集 V1.0 中华人民共和国卫生部 2011年11月 目录 11 适用范围 22 规范性引用文件 33 定义和缩略语 33.1 定义 43.2 缩略语 74 复位应答 85 命令 95.1 命令APDU格式 95.2 响应APDU格式 105.3 基本命令 265.4 应用命令 1 适用范围 本规范规定了居民健康卡用户卡应支持的功能、复位应答的格式以及卡片的命令与响应列表。 本规范适用于所有制作、发行、使用居民健康卡的医疗卫生机构、第三方联合发卡机构、持卡人...
居民健康卡用户卡命令集
居民健康卡用户卡命令集 V1.0 中华人民共和国卫生部 2011年11月 目录 11 适用范围 22 性引用文件 33 定义和缩略语 33.1 定义 43.2 缩略语 74 复位应答 85 命令 95.1 命令APDU格式 95.2 响应APDU格式 105.3 基本命令 265.4 应用命令 1 适用范围 本规范规定了居民健康卡用户卡应支持的功能、复位应答的格式以及卡片的命令与响应列表。 本规范适用于所有制作、发行、使用居民健康卡的医疗卫生机构、第三方联合发卡机构、持卡人和生产企业。 2 规范性引用文件 下列文件中的条款通过本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。 GB/T 16649.4—2010 识别卡 带触点的集成电路卡 第4部分 GB/T 16649.5—2002 识别卡 带触点的集成电路卡 第5部分 ISO/IEC 14443 识别卡 非接触式集成电路卡 接近式卡 JR/T 0025—2010 中国金融集成电路(IC)卡规范 卫生部《居民健康卡技术规范》(卫办发〔2011〕60号) 3 定义和缩略语 3.3 定义 3.3.2 居民健康卡(Residents Health Card) 居民健康卡是中华人民共和国居民拥有的,在医疗卫生服务活动中用于身份识别,满足健康信息存储,实现跨地区和跨机构就医、数据交换和费用结算的基础载体,是计算机可识别的CPU卡。 3.3.3 CPU卡(Central Processing Unit Card) 带有中央处理器(CPU)、存储单元以及卡片操作系统的集成电路卡。 3.3.4 芯片(Chip) 本规范中特指居民健康卡中用于完成数据处理和存储功能的集成电路器件。 3.3.5 芯片操作系统(COS,Card Operating System) CPU卡芯片中存储和可运行的,以保护应用数据和程序的机密性和完整性,控制CPU卡芯片与外界信息交换为目的的嵌入式软件。 3.3.6 加密算法(Cryptographic Algorithm) 为了隐藏或显现数据信息内容的变换算法。 3.3.7 对称加密算法(Symmetric Cryptographic Algorithm) 加密密钥可以从解密密钥中推算出来,反过来也成立,在大多数算法中加/解密密钥是相同的。 3.3.8 非对称加密算法(Asymmetric Cryptographic Algorithm) 加密算法的加密密钥和解密密钥是不一样的,不能由一个密钥推导出另一个密钥。 3.3.9 密钥(Key) 加密转换中控制操作的符号序列。 3.3.10 对称密钥(Symmetric Key) 在对称加密算法中使用的密钥。 3.3.11 非对称密钥(Asymmetric Key) 在非对称加密算法中使用的密钥,包括公钥和私钥。 3.3.12 公钥(Public Key) 在一个实体使用的非对称密钥对中可以被公众使用的密钥。在数字签名中,公钥用于验证。 3.3.13 私钥(Private Key) 在一个实体使用的非对称密钥对中仅被该实体使用的密钥。在数字签名方案中,私钥用于签名。 3.3.14 数字签名(Digital Signature) 对数据的一种非对称加密变换。该变换可以使数据接收方确认数据的来源和完整性,保护数据发送方发出和接收方收到的数据不被第三方篡改,也保护数据发送方发出的数据不被接收方篡改。 3.3.15 生物标识(Biomarker) 人的某种特异性的生物学特征,具有遗传性和终身携带性,如血型。 3.3.16 医学警示(Medical Alert) 患者在就医、急诊或抢救时需要特别提醒医生注意的信息,包括疾病史、体内装置、药物过敏史、对某些物质的不耐受史等。 3.4 缩略语 以下缩略语和符号表示适用于本规范。 表3-1缩略语和符号列表 缩略语 中文名 英文名 ‘0’-‘9’ ‘A’-‘F’ 十六进制数字 AID 应用标识符 Application Identifier An 字母数字型 Alphanumeric Ans 特殊字母数字型 Alphanumeric Special B 二进制 Binary CBC 密码块链接 Cipher Block Chaining CLA 命令报文的类别字节 Class Byte of Command Message Cn 压缩数字 Compressed Numeric COS 芯片操作系统 Card Operating System CPU 中央处理器 Central Processing Unit CVN 卡安全码 Card Verification Number DDF 目录定义文件 Directory Definition File DF 专用文件 Dedicated File EF 基本文件 Elementary File FCI 文件控制信息 File Control Information FID 文件标识符 File Identifier IC 集成电路 Integrated Circuit IEC 国际电工委员会 International Electrotechnical Commission INS 命令报文的指令字节 Instruction Byte of Command Message ISO 国际化组织 International Organization for Standardization M 必选型 Mandatory MAC 报文鉴别代码 Message Authentication Code MF 主控文件 Master File O 可选型 Optional PIX 专用应用标识符扩展码 Proprietary Application Identifier Extension SAM 安全存取模块 Secure Access Module PVC 聚氯乙烯 Polyvinyl Chloride RID 已注册的应用提供者标识 Registered Application Provider Identifier RS232 串行通信接口 USB 通用串行总线 Universal Serial BUS Xx 任意值 4 复位应答 复位应答中历史字节的前8个字节固定为芯片提供机构注册标识(2字节,由国家IC卡注册中心分配的注册标识号)||卡片制造机构注册标识(2字节,由国家IC卡注册中心分配的注册标识号)||卡片序列号(4字节)。 5 命令 在卡片读写过程中,卡片总是处于以下状态之一,在一种状态下,只有某些命令能够被执行。卡片具有的状态如下: (1) 空闲状态:此时卡片没有获得读写权限; (2) 安全状态:此时卡片获得了一定的读写授权,可以进行读写操作。 卡片上不同应用之间通过“防火墙”以防止跨过应用进行非法访问,在选择其它应用后,所获得的安全状态消失。卡片通过EXTERNAL AUTHENTICATION命令获得一定的读写授权,当卡片从终端接收到一条命令时,它必须首先检查当前状态是否允许执行该命令。在命令执行成功后,卡片将如表5- 1所示进入另一个状态(或同一个)。 表5- 1说明了命令执行成功后的状态变化。第一行表示命令发出时卡片的当前状态,第一列表示发出的命令,整张表给出的是在当前状态下某个命令执行成功后的状态。 阴影部分表示在卡片处于相应状态时发出此命令是无效的。在这种情况下,卡片不执行该命令。 表5- 1命令执行成功后的状态变化 命令 空闲 安全 SELECT(选择当前应用) 空闲 安全 SELECT(选择其它应用) 空闲 空闲 EXTERNAL AUTHENTICATION 安全 安全 SELECT(选择文件或记录) 空闲 安全 READ BINARY(一般二进制文件) 空闲 安全 READ RECORD(一般记录文件) 空闲 安全 READ BINARY(限制二进制文件) N/A 安全 READ RECORD(限制记录文件) N/A 安全 ERASE RECORD N/A 安全 WRITE RECORD N/A 安全 5.3 命令APDU格式 命令APDU的格式如表5-2所示 表5-2命令APDU的结构 CLA INS P1 P2 Lc Data Le (———————必备头———————( (————条件体————( 命令APDU中发送的数据字节数用Lc(命令数据域的长度)表示。 响应APDU中期望返回的数据字节数用Le(期望数据长度)表示。当Le存在且值为0时,表示需要最大字节数(256字节)。 命令APDU报文的内容见表5-3: 表5-3命令APDU的内容 代码 描  述 长度 CLA 命令类别 1 INS 指令代码 1 P1 指令参数1 1 P2 指令参数2 1 Lc 命令数据域中存在的字节数 0或1 Data 命令发送的数据字节串(=Lc) 变长 Le 响应数据域中期望的最大数据字节数 0或1 5.4 响应APDU格式 响应APDU格式由一个变长的条件体和后随两字节长的必备尾组成,见表5-4: 表5-4 响应APDU的结构 Data SW1 SW2 (——条件体——( (——尾——( 响应APDU的内容见表5- 5: 表5- 5 响应APDU的内容 代码 描  述 长度 Data 响应中接收的数据字节串(=Le) 变长 SW1 命令处理状态 1 SW2 命令处理限定 1 5.5 基本命令 5.5.2 APPLICATION BLOCK命令 5.5.2.1 定义和范围 APPLICATION BLOCK命令使当前选择的应用失效。 当APPLICATION BLOCK命令成功地完成后,用SELECT命令选择已临时锁定的应用时,将回送状态码 ‘6283’(选择文件无效),同时返回FCI。 对其他命令的影响根据不同应用而定。 5.5.2.2 命令报文 APPLICATION BLOCK命令报文编码见表5-6 表5-6 APPLICATION BLOCK命令报文 代码 值 CLA ‘84’ INS ‘1E’ P1 ‘00’,其他值保留为将来使用 P2 ‘00’,临时锁定应用,锁定后可用APPLICATION_UNBLOCK解锁 ‘01’,永久锁定应用 Lc ‘04’ Data 报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码。 Le 不存在 5.5.2.3 命令报文数据域 命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别码(MAC)数据元。 5.5.2.4 响应报文数据域 响应报文数据域不存在。 5.5.2.5 响应报文状态码 无论应用是否已经失效,此命令执行成功的状态码是‘9000’。 IC卡可能回送的错误状态码如表5-7所示: 表5-7 APPLICATION BLOCK错误状态 SW1 SW2 含  义 ‘65’ ‘81’ 内存失败 ‘67’ ‘00’ Lc长度错误 ‘69’ ‘82’ 不满足安全状态 ‘69’ ‘84’ 引用数据无效 ‘69’ ‘85’ 使用条件不满足 ‘69’ ‘87’ 安全报文数据项丢失 ‘69’ ‘88’ 安全报文数据项不正确 ‘6A’ ‘86’ 参数P1 P2不正确 ‘6A’ ‘88’ 未找到引用数据 5.5.3 APPLICATION UNBLOCK命令 5.5.3.1 定义和范围 APPLICATION UNBLOCK命令可以对临时锁定的应用解锁,当APPLICATION UNBLOCK命令成功地完成后,用SELECT命令可以正确选择此应用,应用功能同时被恢复。 5.5.3.2 命令报文 APPLICATION UNBLOCK命令报文编码见表5-8: 表5-8 APPLICATION UNBLOCK命令报文 代码 数值 CLA ‘84’ INS ‘18’ P1 ‘00’ P2 ‘00’ Lc ‘04’ DATA 报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码。 Le 不存在 5.5.3.3 命令报文数据域 命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别码(MAC)数据元。 5.5.3.4 响应报文数据域 响应报文数据域不存在。 5.5.3.5 响应报文状态码 此命令执行成功的状态码是‘9000’。 IC卡可能回送的错误状态码如表5-9所示: 表5-9 APPLICATION UNBLOCK错误状态 SW1 SW2 含  义 ‘65’ ‘81’ 内存失败 ‘67’ ‘00’ Lc长度错误 ‘69’ ‘82’ 不满足安全状态 ‘69’ ‘84’ 引用数据无效 ‘69’ ‘85’ 使用条件不满足 ‘69’ ‘87’ 安全报文数据项丢失 ‘69’ ‘88’ 安全报文数据项不正确 ‘6A’ ‘86’ 参数P1 P2不正确 ‘6A’ ‘88’ 未找到引用数据 5.5.4 CARD BLOCK命令 5.5.4.1 定义和范围 CARD BLOCK命令使卡中所有应用永久失效。 当CARD BLOCK命令成功地完成后,所有后续的命令都将回送状态码“不支持此功能”(SW1SW2=‘6A81’),且不执行任何其他操作。 5.5.4.2 命令报文 CARD BLOCK命令报文编码见表5-10: 表5-10 CARD BLOCK命令报文 代码 值 CLA ‘84’ INS ‘16’ P1 ‘00’,其他值保留为将来使用 P2 ‘00’,其他值保留为将来使用 Lc ‘04’ Data 报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码 Le 不存在 5.5.4.3 命令报文数据域 命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别代码(MAC)数据元。 5.5.4.4 响应报文数据域 响应报文数据域不存在。 5.5.4.5 响应报文状态码 此命令执行成功的状态码是‘9000’。 IC卡可能回送的错误状态码如表5-11所示: 表5-11 CARD BLOCK错误状态 SW1 SW2 含  义 ‘65’ ‘81’ 内存失败 ‘67’ ‘00’ Lc长度错误 ‘69’ ‘82’ 不满足安全状态 ‘69’ ‘84’ 引用数据无效 ‘69’ ‘85’ 使用条件不满足 ‘69’ ‘87’ 安全报文数据项丢失 ‘69’ ‘88’ 安全报文数据项不正确 ‘6A’ ‘86’ 参数P1或/和P2错误 ‘6A’ ‘88’ 未找到引用数据 5.5.5 EXTERNAL AUTHENTICATION命令 5.5.5.1 定义和范围 EXTERNAL AUTHENTICATION命令要求IC卡中的应用验证接口设备中保密模块的有效性,以使接口设备获得某种授权。 IC卡的响应包括命令处理状态的回送。 5.5.5.2 命令报文 EXTERNAL AUTHENTICATION命令报文编码见表5-12: 表5-12 EXTERNAL AUTHENTICATION命令报文 代码 值 CLA ‘00’ INS ‘82’ P1 ‘00’ P2 密钥标识符(见表5-12表5-13) Lc ‘11’ Data 鉴别用数据 Le 不存在 表5-13定义了命令报文中的密钥标识符: 表5-13密钥标识符的结构 b8 b7 b6 b5 b4 b3 b2 b1 含  义 0 0 0 0 0 0 0 0 默认密钥 0 全局参考数据 1 专用参考数据 x x x x 密钥号 EXTERNAL AUTHENTICATION命令使用的算法参考值(P1)编码为‘00’表示无信息。算法参考值在命令发出之前是已知的。 5.5.5.3 命令报文数据域 命令报文数据域中包含17个字节的数据: ——第1至第8个字节为鉴别数据; ——第9至第16个字节是鉴别所需的原始信息; ——第17个字节表示密钥版本。 其中,鉴别数据根据《居民健康卡技术规范》第9.7.3章中的规定进行编码。 5.5.5.4 响应报文数据域 响应报文数据域不存在。 5.5.5.5 响应报文状态码 此命令执行成功的状态码是‘9000’。 IC卡可能回送的警告状态码如表5-14所示: 表5-14 EXTERNAL AUTHENTICATION警告状态 SW1 SW2 含  义 ‘63’ ‘Cx’ 鉴别失败,x表示允许继续尝试的次数(‘0’-‘F’) IC卡可能回送的错误状态码如表5-15所示: 表5-15 EXTERNAL AUTHENTICATION错误状态 SW1 SW2 含  义 ‘67’ ‘00’ Lc不正确 ‘69’ ‘83’ 鉴别方法锁定 ‘69’ ‘84’ 引用数据无效 ‘69’ ‘85’ 使用条件不满足 ‘6A’ ‘86’ 参数P1 P2不正确 ‘6A’ ‘88’ 密钥未找到 5.5.6 GET CHALLENGE命令 5.5.6.1 定义和范围 GET CHALLENGE命令请求一个用于安全相关过程(例如:安全报文、安全鉴别)的随机数。 随机数在使用后失效,不能被下一个命令再次使用。 5.5.6.2 命令报文 GET CHALLENGE命令报文编码见表5-16: 表5-16 GET CHALLENGE命令报文 代码 值 CLA ‘00’ INS ‘84’ P1 ‘00’ P2 ‘00’ Lc 不存在 Data 不存在 Le ‘08’ 5.5.6.3 命令报文数据域 命令报文数据域不存在。 5.5.6.4 响应报文数据域 响应报文数据域包括随机数,长度为8字节。 5.5.6.5 响应报文状态码 此命令执行成功的状态码是‘9000’。 IC卡可能回送的错误状态码如表5-17所示: 表5-17GET CHALLENGE错误状态 SW1 SW2 含  义 ‘67’ ‘00’ Le长度错 ‘6A’ ‘81’ 不支持此功能 ‘6A’ ‘86’ 参数P1 P2不正确 5.5.7 INTERNAL AUTHENTICATION命令 5.5.7.1 定义和范围 INTERNAL AUTHENTICATION命令提供了利用接口设备发来的随机数和自身存储的相关密钥进行数据鉴别的功能。 5.5.7.2 命令报文 INTERNAL AUTHENTICATION命令报文编码见表5-18: 表5-18 INTERNAL AUTHENTICATION命令报文 代码 值 CLA ‘00’ INS ‘88’ P1 ‘00’ P2 ‘00’ Lc ‘11’ Data 鉴别用数据 Le ‘00’ INTERNAL AUTHENTICATION命令的参数P1和P2为‘00’表示无信息,它们的值是事先确定的。 5.5.7.3 命令报文数据域 命令报文数据域的内容是卡片或应用专用的鉴别数据,包含17个字节的数据: ――第1至第8个字节是过程密钥计算使用的数据,由终端产生; ――第9至第16个字节是鉴别所需的原始信息; ——第17个字节表示密钥版本。 5.5.7.4 响应报文数据域 响应报文数据域内容是相关的鉴别数据,其值根据《居民健康卡技术规范》第9.7.3章中的规定进行计算。 5.5.7.5 响应报文状态码 此命令执行成功的状态码是‘9000’。 IC卡可能回送的警告状态码如表5-19所示: 表5-19 INTERNAL AUTHENTICATION警告状态 SW1 SW2 含  义 ‘62’ ‘81’ 回送的数据可能有错 IC卡可能回送的错误状态码如表5-20所示: 表5-20 INTERNAL AUTHENTICATION错误状态 SW1 SW2 含  义 ‘67’ ‘00’ Lc不正确 ‘68’ ‘82’ 不支持安全报文 ‘69’ ‘85’ 不满足使用条件 ‘6A’ ‘80’ 数据域参数不正确 ‘6A’ ‘86’ 参数P1 P2不正确 ‘6A’ ‘88’ 密钥未找到 5.5.8 READ BINARY命令 5.5.8.1 定义和范围 READ BINARY命令用于读取透明文件的内容(或部分内容)。 5.5.8.2 命令报文 READ BINARY命令报文编码见表5-21 表5-21 READ BINARY命令报文 代码 值 CLA ‘00’ INS ‘B0’ P1 见表5-22 P2 见表5-22 Lc 不存在 Data 不存在 Le ‘00’或要读出的数据的长度 表5-22定义了命令报文中的引用控制参数: 表5-22 READ BINARY命令引用控制参数 P1 P2 含  义 b8 b7 b6 b5 b4 b3 b2 b1 b8 b7 b6 b5 b4 b3 b2 b1 0 X X X X X X X Y Y Y Y Y Y Y Y P1(‘0x100’+P2为要读的首字节距离文件首字节的偏移量。 5.5.8.3 命令报文数据域 命令报文数据域不存在。 5.5.8.4 响应报文数据域 当Le的值为零时,读出自要读的首字节起的256个字节;如果在读出256个字节前已到达文件最后一个字节,则自要读的首字节起的全部字节将被读出。 5.5.8.5 响应报文状态码 此命令执行成功的状态码是‘9000’。 IC卡可能回送的警告状态码如表5-23所示: 表5-23 READ BINARY警告状态 SW1 SW2 含  义 ‘62’ ‘81’ 部分回送的数据可能有错 IC卡可能回送的错误状态码如表5-24所示: 表5-24 READ BINARY错误状态 SW1 SW2 含  义 ‘69’ ‘81’ 命令与文件结构不相容 ‘69’ ‘82’ 不满足安全状态 ‘69’ ‘86’ 不满足命令执行的条件(非当前EF) ‘6A’ ‘81’ 不支持此功能 ‘6A’ ‘82’ 未找到文件 ‘6B’ ‘00’ 参数错误(偏移地址超出了EF) ‘6C’ ‘xx’ 长度错误(Le错误;‘xx’为实际长度) 5.5.9 READ RECORD命令 5.5.9.1 定义和范围 READ RECORD命令读取记录结构的基本文件中指定的记录。 IC卡的响应由回送记录组成。 5.5.9.2 命令报文 READ RECORD命令报文编码见表5-25: 表5-25 READ RECORD命令报文 代码 值 CLA ‘00’ INS ‘B2’ P1 记录号或记录标识符 P2 引用控制参数(见表5-26) Lc 不存在 Data 不存在 Le ‘00’ 或记录长度 记录号的取值范围为‘01’-‘FE’。 表5-26定义了命令报文中的引用控制参数: 表5-26READ RECORD命令引用控制参数 b8 b7 b6 b5 b4 b3 b2 b1 含  义 0 0 0 0 0 对当前文件进行操作 1 0 0 读P1指定的记录 0 0 0 读具有P1指定的记录标识符的第一个实例 5.5.9.3 命令报文数据域 命令报文数据域不存在。 5.5.9.4 响应报文数据域 所有执行成功的READ RECORD命令的响应报文数据域由读取的记录组成。 5.5.9.5 响应报文状态码 此命令执行成功的状态码是‘9000’。 IC卡可能回送的警告状态码如表5-27所示: 表5-27 READ RECORD警告状态 SW1 SW2 含  义 ‘62’ ‘81’ 回送的数据可能有错 IC卡可能回送的错误状态码如表5-28所示: 表5-28 READ RECORD错误状态 SW1 SW2 含  义 ‘67’ ‘00’ 长度错误 ‘69’ ‘81’ 命令与文件结构不相容 ‘69’ ‘82’ 不满足安全状态 ‘69’ ‘85’ 使用条件不满足 ‘69’ ‘86’ 命令不允许使用(无当前基本文件) ‘6A’ ‘81’ 不支持此功能 ‘6A’ ‘82’ 未找到文件 ‘6A’ ‘83’ 未找到记录 ‘6A’ ‘86’ 参数P1或P2错误 5.5.10 SELECT命令 5.5.10.1 定义和范围 SELECT命令通过文件名或AID、文件标识符来选择IC卡中的居民健康卡应用环境、DDF或ADF,通过文件标识符来选择ADF中的AEF。 命令执行成功后,居民健康卡应用环境、DDF或ADF、AEF的路径被设定。 除选择AEF外,从IC卡的响应报文应由回送FCI组成。 5.5.10.2 命令报文 SELECT命令报文编码见表5-29: 表5-29 SELECT命令报文 代码 值 CLA ‘00’ INS ‘A4’ P1 引用控制参数(见表5-30) P2 ‘00’第一个或唯一一个文件实例 ‘02’下一个文件实例 Lc ‘05’-‘10’(使用文件名或AID时)或‘02’(使用文件标识符时)或‘00’ Data 文件名、AID、文件标识符或不存在 Le ‘00’ 表5-30定义了命令报文中的引用控制参数: 表5-30 SELECT命令引用控制参数 b8 b7 b6 b5 b4 b3 b2 b1 含  义 0 0 0 0 0 0 0 0 用文件标识符选择MF、DF、EF(数据域=文件标识符或空) 0 0 0 0 0 0 1 0 用文件标识符在当前DF下选择EF(数据域=EF的文件标识符) 0 0 0 0 0 1 0 0 通过文件名选择DF(数据域=DF的文件名) 如果P1=‘00’并且数据域为空或等于‘3F00’,该命令将选择主控文件(MF)。 5.5.10.3 命令报文数据域 命令报文数据域应包括内容见表5-30。 5.5.10.4 响应报文数据域 除选择AEF外,响应报文中数据域应包括所选择的居民健康卡应用环境、DDF或ADF的FCI。表5-31到表5-33规定了此定义所用的标志。《居民健康卡技术规范》不规定FCI中回送的附加标志。 表5-31定义了成功选择居民健康卡应用环境后回送的FCI: 表5-31 SELECT居民健康卡应用环境的响应报文(FCI) 标志 值 存在方式 ‘6F’ FCI M ‘84’ DF名 M ‘A5’ FCI专用模板 M ‘88’ 目录基本文件的SFI O 表5-32定义了成功选择DDF后回送的FCI: 表5-32 SELECT DDF的响应报文(FCI) 标志 值 存在方式 ‘6F’ FCI模板 M ‘84’ DF名 M ‘A5’ FCI专用模板 M ‘88’ 目录基本文件的SFI O 表5-33定义了成功选择ADF后回送的FCI: 表5-33SELECT ADF的响应报文(FCI) 标志 值 存在方式 ‘6F’ FCI模板 M ‘84’ DF名 M 5.5.10.5 响应报文状态码 此命令执行成功的状态码是‘9000’。 IC卡可能回送的警告状态码如表5-34所示: 表5-34 SELECT警告状态 SW1 SW2 含  义 ‘62’ ‘81’ 返回的数据中的部分可能已被破坏 ‘62’ ‘83’ 选择的文件无效 ‘62’ ‘84’ FCI格式与P2指定的不符 IC卡可能回送的错误状态码如表5-35所示: 表5-35 SELECT错误状态 SW1 SW2 含  义 ‘67’ ‘00’ P1 P2与Lc不一致 ‘6A’ ‘81’ 不支持此功能 ‘6A’ ‘82’ 未找到文件 ‘6A’ ‘86’ 参数P1 P2不正确 ‘93’ ‘03’ 应用永久锁定 5.5.11 UPDATE BINARY命令 5.5.11.1 定义和范围 UPDATE BINARY命令报文使用命令APDU中给定的数据写入或修改透明结构的基本文件的全部或部分数据。当使用校验方式更新二进制文件时,如果尝试次数超过限制时,临时锁定当前应用。 5.5.11.2 命令报文 UPDATE BINARY命令报文编码见表5-36: 表5-36 UPDATE BINARY命令报文 代码 值 CLA ‘00’或‘04’ INS ‘D6’ P1 见表5-37 P2 见表5-37 Lc 后续数据域的长度 Data 写入或修改用的数据 Le 不存在 表5-37定义了命令报文中的引用控制参数: 表5-37 UPDATE BINARY命令引用控制参数 P1 P2 含  义 b8 b7 b6 b5 b4 b3 b2 b1 b8 b7 b6 b5 b4 b3 b2 b1 0 X X X X X X X Y Y Y Y Y Y Y Y P1(‘0x100’+P2为要读的首字节距离文件首字节的偏移量。 5.5.11.3 命令报文数据域 命令报文数据域包括用来写入或更新原有数据的新数据。 5.5.11.4 响应报文数据域 响应报文数据域不存在。 5.5.11.5 响应报文状态码 此命令执行成功的状态码是‘9000’。 IC卡可能回送的错误状态码如表5-38所示: 表5-38 UPDATE BINARY错误状态 SW1 SW2 含  义 ‘65’ ‘81’ 内存失败(修改失败) ‘67’ ‘00’ 长度错误(Lc域为空) ‘69’ ‘81’ 命令与文件结构不相容 ‘69’ ‘82’ 不满足安全状态 ‘69’ ‘85’ 使用条件不满足 ‘69’ ‘86’ 不满足命令执行的条件(不是当前的EF) ‘69’ ‘88’ 安全报文数据项不正确 ‘6A’ ‘80’ 基本文件标识符错误 ‘6A’ ‘81’ 不支持此功能 ‘6A’ ‘82’ 未找到文件 ‘6B’ ‘00’ 参数错误(偏移地址超出了EF) 5.5.12 UPDATE RECORD命令 5.5.12.1 定义和范围 UPDATE RECORD命令报文用命令APDU中给定的数据添加记录或更改指定的记录。当使用校验方式更新记录时,如果尝试次数超过限制时,临时锁定当前应用。 UPDATE RECORD命令不能对健康应用的住院信息索引文件记录和门诊信息索引文件记录进行更新操作。 对线性结构文件来说,只能使用指定记录号(P1中指定)方式更新记录。 对循环结构文件来说,只能使用“上一个记录”命令选项添加或更新记录,添加或更新后该记录的记录号为1。 5.5.12.2 命令报文 UPDATE RECORD命令报文编码见表5-39: 表5-39UPDATE RECORD命令报文 代码 值 CLA ‘00’或‘04’ INS ‘DC’ P1 指定的记录号(‘01’~‘FE’) P2 见表5-40 Lc 后续数据域的长度 Data 添加的或更新原有记录的新记录 Le 不存在 表5-40定义了命令报文中的引用控制参数: 表5-40 UPDATE RECORD命令引用控制参数 b8 b7 b6 b5 b4 b3 b2 b1 含  义 0 0 0 0 0 当前文件 0 1 1 上一个记录 1 0 0 记录号在P1中给出 其余值 RFU 5.5.12.3 命令报文数据域 命令报文数据域由添加的或更新原有记录的新记录组成。 5.5.12.4 响应报文数据域 响应报文数据域不存在。 5.5.12.5 响应报文状态码 命令执行成功的状态码是‘9000’。 IC卡可能回送的错误状态码如表5-41所示: 表5-41 UPDATE RECORD错误状态 SW1 SW2 含  义 ‘65’ ‘81’ 内存失败(修改失败) ‘67’ ‘00’ 长度错误(Lc域为空) ‘69’ ‘81’ 命令与文件结构不相容 ‘69’ ‘82’ 不满足安全状态 ‘69’ ‘85’ 使用条件不满足 ‘69’ ‘86’ 不满足命令执行的条件(不是当前的EF) ‘69’ ‘88’ 安全报文数据项不正确 ‘6A’ ‘80’ 基本文件标识符错误 ‘6A’ ‘81’ 不支持此功能 ‘6A’ ‘82’ 未找到文件 ‘6A’ ‘83’ 未找到记录 ‘6A’ ‘84’ 文件中存储空间不够 ‘6A’ ‘85’ Lc与TLV结构不符 ‘6A’ ‘86’ 参数P1或/和P2不正确 5.6 应用命令 5.6.2 ERASE RECORD命令 5.6.2.1 定义和范围 ERASE RECORD命令专用于擦除居民健康应用的住院信息索引文件记录和门诊信息索引文件记录。使用安全报文方式擦除,如果尝试次数超过限制时,临时锁定当前应用。 擦除索引文件记录前,需要获得文件的擦除权限。 5.6.2.2 命令报文 ERASE RECORD命令报文编码见表5-42: 表5-42 ERASE RECORD命令报文 代码 值 CLA ‘84’ INS ‘0C’ P1 指定的记录号 P2 见表5-43 Lc ‘04’ Data 报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码。 Le 不存在 表5-43定义了命令报文中的引用控制参数: 表5-43 ERASE RECORD命令引用控制参数 b8 b7 b6 b5 b4 b3 b2 b1 含  义 1 0 0 记录号在P1中给出 其余值 RFU 5.6.2.3 命令报文数据域 命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别码(MAC)数据元。 5.6.2.4 响应报文数据域 响应报文数据域不存在。 5.6.2.5 响应报文状态码 命令执行成功的状态码是‘9000’。 IC卡可能回送的错误状态码如表5-44所示: 表5-44ERASE RECORD错误状态 SW1 SW2 含  义 ‘65’ ‘81’ 内存失败(修改失败) ‘67’ ‘00’ 长度错误(Lc域为空) ‘69’ ‘81’ 命令与文件结构不相容 ‘69’ ‘82’ 不满足安全状态 ‘69’ ‘85’ 使用条件不满足 ‘69’ ‘86’ 不满足命令执行的条件(不是当前的EF) ‘69’ ‘88’ 安全报文数据项不正确 ‘6A’ ‘81’ 不支持此功能 ‘6A’ ‘83’ 未找到记录 ‘6A’ ‘86’ 参数P1或/和P2不正确 ‘6E’ ‘00’ CLA错误 5.6.3 WRITE RECORD命令 5.6.3.1 定义和范围 WRITE RECORD命令专用于生效居民健康应用的住院信息索引文件记录和门诊信息索引文件记录,对记录文件写入特定值 ‘00H’。使用安全报文方式写入,如果尝试次数超过限制时,临时锁定当前应用。 写入索引文件记录前,需要获得文件的写入权限。 5.6.3.2 命令报文 WRITE RECORD命令报文编码见表5-45: 表5-45WRITE RECORD命令报文 代码 值 CLA ‘84’ INS ‘D2’ P1 指定的记录号 P2 见表5-46 Lc ‘04’ Data 报文鉴别代码(MAC)数据元;根据《居民健康卡技术规范》第9.4.2章中的规定进行编码。 Le 不存在 表5-46定义了命令报文中的引用控制参数: 表5-46 WRITE RECORD命令引用控制参数 b8 b7 b6 b5 b4 b3 b2 b1 含  义 1 0 0 记录号在P1中给出 其余值 RFU 5.6.3.3 命令报文数据域 命令报文数据域包括根据《居民健康卡技术规范》第9.4.2章中的规定进行编码的报文鉴别码(MAC)数据元。 5.6.3.4 响应报文数据域 响应报文数据域不存在。 5.6.3.5 响应报文状态码 命令执行成功的状态码是‘9000’。 IC卡可能回送的错误状态码如表5-47所示: 表5-47WRITE RECORD错误状态 SW1 SW2 含  义 ‘65’ ‘81’ 内存失败(修改失败) ‘67’ ‘00’ 长度错误(Lc域为空) ‘69’ ‘81’ 命令与文件结构不相容 ‘69’ ‘82’ 不满足安全状态 ‘69’ ‘85’ 使用条件不满足 ‘69’ ‘86’ 不满足命令执行的条件(不是当前的EF) ‘69’ ‘88’ 安全报文数据项不正确 ‘6A’ ‘81’ 不支持此功能 ‘6A’ ‘83’ 未找到记录 ‘6A’ ‘86’ 参数P1或/和P2不正确 ‘6E’ ‘00’ CLA错误 I
/
本文档为【居民健康卡用户卡命令集】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索