智能卡 增加或修改密钥 WRITE KEY

WRITE KEY 命令用于在密钥文件中增加或者修改密钥

代码
CLA 80/84
INS D4
P1 表示此条WRITE KEY命令用来添加密钥
表示此条WRITE KEY命令用来更新P1中指定类型的密钥
P2 密钥标识
Lc 见命令报文数据域
Data
Le 不存在

命令报文数据域

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

注意:密钥类型 和密钥标识不是一回事请

增加 外部认证密钥举例:

在主目录下面建立密钥文件:
然后执行建密钥文件命令: 80 E0 00 00 07 3F 00 B0 01 F0 FF FF
说明:

80 E0 :指令类别和指令码; 创建文件或者目录

00 00 :文件标识;

07:长度; 07表示后面有7个字节

3F :文件类型,此为密钥 文件.

扫描二维码关注公众号,回复: 31440 查看本文章

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

01 :读权限; F0 :写权限.

 01表示没有读的权限

 F0表示可以任意写

密钥文件建好后就要给其增加密钥了
执行指令: 80D4 0100 0D 39 F0F0 AA55 FFFFFFFFFFFFFFFF
说明:

80D4 :指令类别和指令码;

01 00 :文件标识;

0D:长度; 0D表示后面有13个字节

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

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

AA:后续状态;

55 :错误计数,当前为 5次机会,

返回错 误代码是 63 CX, X就是次数了,当X为0时卡永久补锁,操作主控密钥时请注意!

增加 口令密钥举例:

建立 DF目录下密钥文件
执行指令: 80E0 0001 07 3F 01 8F 95 F0 FFFF

80 E0 :指令类别和指令码; 创建文件或者目录

00 01 :文件标识;

07:长度; 07表示后面有7个字节

3F :文件类型,此为密钥 文件.

01 8F: 所建文件可用的空间,即可用 0X018F 个字节的空间; 这个地方不对

95 :读权限; F0 :写权限.

95表示

 F0表示可以任意写

在 DF目录下密钥文件里增加口令密钥
执行指令: 80 D4 0101 08 3A F0 EF 44 55 12 34 56
说明:

80 D4 :指令类别和指令码;

0101 :文件标识;

08:长度;

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

F0 :读权限;

EF :写权限 ;

44 :后续状态;

55 :错误计数;

123456 :3个字节的PIN 密码

猜你喜欢

转载自blog.csdn.net/wowocpp/article/details/79992125