您的位置:首页 > 其它

智能卡—CREATE(建立文件)命令

2016-07-20 20:15 232 查看
CREATE命令——建立文件(ADF文件、EF文件、DDF文件)主要用于构建文件系统

1.命令报文格式

CLA INSP1P2LCDATA
80E000/01/0200/01数据体长度数据体
如果建立的文件为DDF文件:P1=00
如果建立的文件为ADF文件:P1=01
如果建立的文件为EF文件:P1=02

当P1=00时,若P2设置为00,则只能创建根文件系统ROOTDF;若P2设置为01,既可以建根文件系统也可以建立其他DDF文件。
当P1=01/02时,P2=00

2.数据体结构

(1)建立DDF文件

P2=00时数据体结构为:

P2=00时,指定创建根文件系统ROOT DF,此时数据体个数如下



数据体供13个字节,Lc=0D
按该数据体格式创建的文件,文件标识符=3F00,名称为:“1PAY.SYS.DDF01”,为系统固定,不能修改

P2=01时数据体结构为:

P2=01时,不仅可以创建ROOT DF ,也可以创建其他的DF文件,数据体格式为:



建立文件为ROOT DF时,
文件标识符应设置为3F00
文件操作权限位表示文件创建和擦除权限
AID为1PAY.SYS.DDF01的十六进制数据31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 

建立文件为其他DF时,
文件操作权限位表示文件创建权限
文件标识符和AID根据实际需要自定义数值

由于AID为长度可变的字符串,在1到16个字节之间,因此LC数值为08~17

FCI配置=00表示使用配置区的配置
=其他值,表示使用独立配置

(2)建立ADF文件

此时P1=01,P2=00 ,创建出的文件的文件类型为ADF类型
数据体结构为



(3)建立EF文件

创建文件为密钥文件时:

密钥文件用于存放密钥,在每一个目录中必须存在且只能存在一个密钥文件,P1=02,P2=00
创建密钥文件的数据体结构为:



预留数据字节一般使用00

  创建文件为普通文件时:



创建普通EF文件时,P1=02,P2=00

  文件标识符:根据需要自定义
文件类型:不同数值表示创建不同类型的文件(如二进制文件、循环列表文件等)
读权限:读取该文件需要的安全权限(安全状态寄存器数值大于等于此数值)
写权限:修改该文件需要的安全权限(安全状态寄存器数值大于等于此数值)
长度1和长度2:表示该文件的大小,
建立二进制文件、变长记录文件、钱包文件、存折文件、公钥文件、私钥文件时,长度1和长度2两字节表示文件大小。
建立定长记录文件、循环定长记录文件、电子钱包交易明细文件、灰锁交易明细文件、密钥文件时,长度1表示记录个数, 长度2表示记录长度。
维护密钥ID:该文件采用的加密密钥(在同目录下的密钥文件中)
公私钥使用权限:该位只对创建公私钥文件有效

文件类型符号字节含义:



3.实例

1.创建密钥文件
80 E0 02 00 0A 0000 05 AF 00 06 00 00 00 00
CLA:80 INS:E0 02:P1 00:P2
0A:Lc 0000:文件标识符 05:文件类型 AF:添加密钥权限 06:密钥条数

2.创建二进制文件
80E002000A 0005 20 0F0F 001E 01 FFFF
 20:该文件为二进制文件
001E:文件大小

3.创建定长记录文件
80E002000A 0006 21
0F0F 0417 FFFF
21:改文件为定长记录文件
0417:改文件能够储存4条记录,每条记录大小为0x17

4.创建ADF文件
80E002000B 0001 0F00 01 00
0031235467
 0001:文件标识符
0F:增加文件权限
01:维护密钥ID
31235467:AID
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: