参考文档复旦FMCOS通用手册
CLA:指令类别
INS:指令类型的指令码
P1P2:命令参数
Lc:数据长度
Data:数据
Le:要求返回的数据长度
一:密钥增加或修改报文
代码 |
值 |
CLA |
80/84 |
INS |
D4 |
P1 |
01:表示此条write key 命令用来添加密钥 XX:表示此条write key命令用来更新P1中指定类型的密钥 |
P2 |
密钥标识 |
Lc |
见报文数据域 |
Data |
|
Le |
不存在 |
密钥类型
34 |
TAC 密钥 |
36 |
文件线路保护密钥 |
37 |
解锁口令密钥 |
38 |
重装口令密钥的密钥 |
39 |
外部认证密钥 |
3A |
口令密钥 |
3C |
修改透支限额 |
3D |
圈提密钥 |
3E |
消费密钥 |
3F |
圈存密钥 |
报文数据域
内部密钥、消费、圈提、圈存、修改透支限额
CLA |
INS |
P1 |
P2 |
Lc |
Data |
80 |
D4 |
01 |
密钥标识 |
0D/15 |
34/3C/3D/3E/3F 使用权 更改权 密钥版本号 算法标识 8/10字节密钥 |
增加外部认证密钥
CLA |
INS |
P1 |
P2 |
Lc |
Data |
80 |
D4 |
01 |
密钥标识 |
0D/15 |
39 使用权 更改权 后续状态 错误计数 8/10字节密钥 |
增加口令密钥
CLA |
INS |
P1 |
P2 |
Lc |
Data |
80 |
D4 |
01 |
密钥标识 |
07-0D |
3A 使用权 EF 后续状态 错误计数 02-08字节口令 |
增加解锁口令密钥
CLA |
INS |
P1 |
P2 |
Lc |
Data |
80 |
D4 |
01 |
密钥标识 |
0D/15 |
37 使用权 更改权 FF错误计数 8/10字节口令 |
增加文件线路保护,重装口令密钥的密钥
CLA |
INS |
P1 |
P2 |
Lc |
Data |
80 |
D4 |
01 |
密钥标识 |
0D/15 |
36/38 使用权 更改权 FF 错误计数 8/10字节密钥 |
修改密钥时长度应该和原来的相等
P1 P2
密钥类型 密钥标识
数据域参数和添加密钥时相同
响应报文状态码
SW1 |
SW2 |
含义 |
90 |
00 |
成功 |
65 |
81 |
写EEPROM不成功 |
67 |
00 |
密钥长度错误 |
69 |
82 |
增加或修改权限不满足 |
69 |
83 |
密钥被锁死 |
6A |
82 |
Key文件未找到 |
6A |
88 |
密钥未找到 |
6A |
84 |
Key文件空间已满 |
93 |
02 |
修改密钥时线路保护错误 |
二:建立文件
代码 |
值 |
CLA |
80 |
INS |
E0 |
P1 |
文件标识(File ID) |
P2 |
|
Lc |
XX 长度 |
Data |
文件控制信息和DF名称 |
Le |
不存在 |
报文数据域
目录文件DF(包含MF)
CLA |
INS |
P1 |
P2 |
Lc |
Data |
80 |
E0 |
文件标识 |
XX |
38 文件空间大小 建立权限 擦除权限 应该文件ID FFFF(保留) DF名称(5-16字节) |
基本文件EF(包含密钥文件)
CLA |
INS |
P1 |
P2 |
Lc |
Data |
|||||
80 |
E0 |
文件标识 |
XX |
Byte1 |
Byte2~3 |
Byte4 |
Byte5 |
Byte6 |
Byte7 |
|
28 |
文件空间 |
读权限 |
写权限 |
FF |
见说明 |
|||||
|
2A |
文件空间 |
读权限 |
写权限 |
FF |
见说明 |
||||
|
2E |
文件空间 |
读权限 |
写权限 |
FF |
见说明 |
||||
|
2F |
文件空间 |
使用权 |
保留(00) |
FF |
交易记录标识 |
||||
|
2C |
文件空间 |
读权限 |
写权限 |
FF |
见说明 |
||||
|
3F |
文件空间 |
DF文件短标识 |
增加权限 |
FF |
FF |
B8 |
B7 |
B6 |
B5 |
B4 |
B3 |
B2 |
B1 |
Byte7含义 |
|
1 |
- |
- |
- |
- |
- |
- |
- |
文件不支持带线路保护读 |
|
0 |
- |
- |
- |
- |
- |
- |
- |
文件必须使用带线路保护读 |
|
- |
1 |
1 |
1 |
- |
- |
- |
- |
保留为1 |
|
- |
- |
- |
- |
1 |
1 |
- |
- |
读操作时使用的密钥标识 |
标识为00的密钥 |
- |
- |
- |
- |
1 |
0 |
- |
- |
标识为01的密钥 |
|
- |
- |
- |
- |
0 |
1 |
- |
- |
标识为02的密钥 |
|
- |
- |
- |
- |
0 |
0 |
- |
- |
标识为03的密钥 |
|
- |
- |
- |
- |
- |
- |
1 |
1 |
写操作时使用的密钥标识 |
标识为00的密钥 |
- |
- |
- |
- |
- |
- |
1 |
0 |
标识为01的密钥 |
|
- |
- |
- |
- |
- |
- |
0 |
1 |
标识为02的密钥 |
|
- |
- |
- |
- |
- |
- |
0 |
0 |
标识为03的密钥 |
响应报文
SW1 |
SW2 |
含义 |
90 |
00 |
成功 |
67 |
00 |
错误的长度 |
69 |
82 |
建立权限不满足 |
6A |
80 |
记录个数小鱼2或目录级数大于三级 |
6A |
84 |
文件没有足够空间 |
6A |
86 |
文件已存在 |
CLA |
INS |
P1 |
P2 |
Lc |
Data |
Le |
说明 |
00 |
A4 |
00 |
00 |
00 |
|
|
选择MF目录 |
00 |
84 |
00 |
00 |
04 |
|
|
取4个字节随机数 |
80 |
0E |
00 |
00 |
00 |
|
|
删除MF目录下所有文件 |
80 |
E0 |
00 |
00 |
07 |
3F 00B0 01F0 FFFF |
|
80E0 创建密码文件 0000 文件表示 07 长度 3F 文件类型密码文件 00B0所建文件可用空间 01 读权限 F0 写权限 FF FF |
80 |
D4 |
01 |
00 |
0D |
36 F0 F0 FF 33 FF FF FF FF FF FF FF FF |
|
80D4 密钥文件装载密钥 0100 文件、密码标识 0D 长度 36 线路保护密钥 F0 使用权 F0 修改权 FF 后续状态 33 错误计数 FF FF FF FF FF FF FF FF 密钥 |
80 |
D4 |
01 |
00 |
15 |
39 F0 F0 AA 88 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF |
|
80D4 密钥文件装载密钥 0100 文件、密码标识 15 长度 39 线路保护密钥 F0 使用权 F0 修改权 AA 后续状态 88 错误计数 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 密钥 |
80 |
E0 |
3F |
01 |
0D |
38 03 6F F0 F0 95 FF FF 44 44 46 30 31 |
|
80E0创建文件 3F01 文件标识 0D 数据长度 38 文件类型DF目录 036F文件空间 F0读权限 F0写权限 95应用ID FFFF 保留 44 44 46 30 31 ASCII码为DDF01 创建目录文件DF |
80 |
E0 |
00 |
01 |
07 |
3F 01 8F 95 F0 FF FF |
|
80E0 创建文件 0001 文件标识 07 数据长度 3F 密码文件 018F 文件空间 95 短标识符 F0 增加权限 FFFF |
80 |
D4 |
01 |
01 |
08 |
3A F0 EF 44 55 12 34 56 |
|
80D4装载密钥 0101 文件标识 08 数据长度 3A 文件类型 F0 使用权 EF修改权 44 后续状态 55 错误计数 12 34 56 密钥 |