CPU卡基本指令

CPU卡基本指令

复旦1208出厂初始主控密钥为8个字节的FF, 即为 FFFFFFFFFFFFFFFF。 执行指令时返回9000表示成功

操作指令

1.选择MF下的根目录

执行命令: 00A4000000

返回值为6F15840E315041592E5359532E4444463031A5038801019000具体意思查复旦微电子CPU卡COSFMCOS 2_0用户手册

2.外部认证

执行指令: 0084000004 取4个字节的随机数

用8个字节的初始密钥FFFFFFFFFFFFFFFF和4随机数+00000000进 行解密生成8字节解密数据(用DES函数计算得出, DES函数文末会给出)

发送0082000008+8字节密文数据

3.删除MF下所有文件指令

执行指令: 800E000000

返回 01 由于擦除命令时间较长需等待, 当返回9000后,表示擦除成功

4.建立MF目录下的密钥文件

先选择根目录: 00A4000000

然后执行建密钥文件命令:80E0 0000 07 3F 00B0 01F0 FFFF

指令  说明

80E0  指令类别和指令码

0000  文件标识

07 长度

3F 文件类型, 为密钥文件

00B0  所建文件可用的空间,即可用0XB0个字节的空间

01F0  01:读权限, F0:写权限

5.密钥文件建好后增加密钥

执行指令: 80D4 0100 0D 39 F0F0 AA55 FFFFFFFFFFFFFFFF

指令  说明

80D4  指令类别和指令码

0100  文件标识

0D 长度

39 文件类型,此为外部认证密钥

F0 读权限

F0 写权限

AA 后续状态

55 错误计数,当前为5次机会,返回错 误代码是63CX, X就是次数了,当X为0时卡永久补锁

6.建立目录文件DF

执行指令: 80E0 3F01 0D 38 0520 F0F0 95 FFFF 4444463031

指令  说明

80E0  指令类别和指令码

3F01  文件标识

0D 长度

38 文件类型

0520  文件的空间大小

F0F0  F0:读权限,F0:写权限

95

FFFF

4444463031  文件名DDF01也就是ASCII码了

7.建立DF目录下密钥文件

执行指令: 80E0 0001 07 3F 018F 95F0 FFFF

8.在DF目录下密钥文件里增加口令密钥

执行指令: 80D4 0101 08 3A F0EF 44 55 123456

指令  说明

80D4  指令类别和指令码

0101  文件标识

08 长度

3A 文件类型,即口令密钥

F0EF  F0:读权限,EF:写权限

44 后续状态

55 错误计数

123456 3个字节的PIN密码

9.基本文件,建立二进制文件

1.执行指令: 80E0 0003 07 28 001E F0F0 FF02

指令  说明

80E0  指令类别和指令码

0003  文件标识

07 长度

28 文件类型,即口令密钥

001E  空间大小,即为写入二进制文件的字节个数

F0F0  F0:读权限;F0:写权限

FF02

执行指令: 80E0 0004 07 28 000F F4F0 FF02

指令  说明

80E0  指令类别和指令码

0004  文件标识

07 长度

28 文件类型,即口令密钥

000F  空间大小,即为写入二进制文件的字节个数

F4F0  F4:读权限;F0:写权限

FF02

10. 写二进制文件,须先读出该文件所在目录下的标识,然后再给其写入

执行指令:比如读取标识为0003的,则:00A4000002 0003, 返回9000表示读取成功

然后写入你要写入内容,空间大小不能超过1E字节(建立该文件时设定的)

执行写二进制的指令: 00D6 0000 05 0102030405

指令  说明

00D6  指令类别和指令码

0000  偏移量,意思是指要读出的内容从该位置开始

05 长度LEN

0102030405  要写入的内容与前面的长度对应

11. 读出二进制文件

执行指令:比如读取标识为0003的,则:00A4000002 0003, 返回9000表示读取成功

执行指令: 00B0 0000 0000

指令  说明

00B0  指令类别和指令码

0000  偏移量

0000  不在线路保护下该两个字节为 无效,写0即可

12. 验证口令

在当前目录下执行指令: 0020 0001 03 666666

指令  说明

0020  指令类别和指令码

0001  标识

03 为密码个数字节为单位

666666 密码(PIN上面已设为666666)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值