1, 取随机数

00 84 00 00 04

2, 外部认证

00 82 00 00 08 加上8字节的加密后的随机数

3, 删除MF目录下的所有文件

80 0E 00 00 00

4, 选择MF目录

00 A4 00 00 00

5,建立密钥文件:

80 E0 00 00 07 3F 00 50 01 F0 FF FF

文件标识:00 00 
文件空间: 00 50 
文件短标识符: 01 
增加权限: F0

6, 增加线路保护密钥

80 D4 01 00 0D 36 F0 F0 FF 33 FF FF FF FF FF FF FF FF

36:文件线路保护密钥

7, 增加外部认证密钥

80 D4 01 00 15 39 F0 F0 AA 33 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

80 D4 01 00 0D 39 F0 F0 AA 55 FF FF FF FF FF FF FF FF

FF FF FF FF FF FF FF FF 8个字节

(这个命令有问题,还是用4字节的密钥)

80 D4 01 00 0D 39 F0 F0 AA 55 FF FF FF FF FF FF FF FF

8,建立定长记录文件

80 E0 00 01 07 2A 02 13 F0 00 FF FF

文件标识 : 00 01 
文件空间:02 13 

9, 创建MF目录下的05文件

80 E0 00 05 07 A8 00 30 F0 F0 FF FF

发送指令:80E0000507A80030F0F0FFFF 
指令回复:9000(成功) 
指令说明:80(CLA)E0(INS)0005(P1P2文件标识)07(Lc)A8(二进制文件28–>A8)0030(文件空间)F0(读权限)F0(写权限)FF(默认)FF(默认)

注:28–>A8 28=00101000 高位变1即:10101000=A8(明文+MAC校验) 
注:这一步可以不做。

10, 添加文件记录

00 E2 00 08 13 61 11 4F 09 A0 00 00 00 03 86 98 07 01 50 04 50 42 4F 43

 
08表示:当前文件 
13: 十六进制 ,表示后面的数据的长度,后面的数据是添加的记录的内容 
61114F09A00000000386980701500450424F43 
记录的信息内容为目录名及PBOC 的 ASC 码 
注:这是一个TLV 格式的记录,61-11:(4F-09:A00000000386980701);50-04:(50424F43) 
A00000000386980701为目录名 
50424F43 为 PBOC 的 ASC 码

11, 创建3F01文件

80 E0 3F 01 11 38 03 6F F0 F0 95 FF FF A0 00 00 00 03 86 98 07 01

 
 
指令说明:80(CLA)E0(INS)3F01(P1 P2文件标识)11(Lc)38(文件类型(目录文件))036F(文件空间)F0(建立权限)F0(擦除权限)95(应用文件标识)FFFF(保留字段)A00000000386980701(DF名称 AID)

12, 选择3F01文件

00 A4 04 00 09 A0 00 00 00 03 86 98 07 01

00 A4 00 00 02 3F 01

上面刚建了DF文件,必面执行此命令打开

13, 建立密钥文件

80 E0 00 00 07 3F 01 8F 95 F0 FF FF

 
 
3F密钥文件 
018F文件空间(字节) 
95短标识符 
F0增加权限

14,内部密钥 装载TAC密钥:

80 D4 01 00 15 34 F0 02 00 01 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34

15, 线路保护密钥

80 D4 01 00 15 36 F0 02 FF 33 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36 36

36:文件线路保护密钥

16,口令解锁密钥

80 D4 01 00 15 37 F0 02 FF 33 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37 37

17,口令重装密钥

80 D4 01 00 15 38 F0 02 FF 33 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38 38

18,外部认证密钥

80 D4 01 00 15 39 F0 02 44 33 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39 39

19,消费密钥

80 D4 01 01 15 3E F0 02 00 01 3E 01 3E 01 3E 01 3E 01 3E 01 3E 01 3E 01 3E 01

20, 消费密钥 消费密钥02

80 D4 01 02 15 3E F0 02 00 01 3E 02 3E 02 3E 02 3E 02 3E 02 3E 02 3E 02 3E 02

21, 圈存密钥 圈存密钥01

80 D4 01 01 15 3F F0 02 00 01 3F 01 3F 01 3F 01 3F 01 3F 01 3F 01 3F 01 3F 01

22,圈存密钥 圈存密钥02

80 D4 01 02 15 3F F0 02 00 01 3F 02 3F 02 3F 02 3F 02 3F 02 3F 02 3F 02 3F 02

23, 圈提密钥 圈提密钥01

80 D4 01 01 15 3D F0 02 01 00 3D 01 3D 01 3D 01 3D 01 3D 01 3D 01 3D 01 3D 01

24, 圈提密钥 圈提密钥02

80 D4 01 02 15 3D F0 02 01 00 3D 02 3D 02 3D 02 3D 02 3D 02 3D 02 3D 02 3D 02

25,修改透支限额密钥 添加修改透支限额密钥01

80 D4 01 01 15 3C F0 02 01 00 3C 01 3C 01 3C 01 3C 01 3C 01 3C 01 3C 01 3C 01

26, 修改透支限额密钥 添加修改透支限额密钥02

80 D4 01 02 15 3C F0 02 01 00 3C 02 3C 02 3C 02 3C 02 3C 02 3C 02 3C 02 3C 02

27, 口令(PIN)

80 D4 01 00 0D 3A F0 EF 01 33 12 34 5F FF FF FF FF FF

28, 创建15号文件(二进制文件)建立二进制文件(线路保护读写)

80 E0 00 15 07 A8 00 1E F0 F0 FF FF

 
指令说明:80(CLA)E0(INS)0015(P1 P2 文件标识)07(Lc)A8(明文MAC 28(二进制文件高位变1)–>A8)001E(文件空间)F0(读权限)F0(增加权限)FF(默认FF)FF(默认FF) 
注:28–>A8 28=00101000 高位变1即:10101000=A8(明文+MAC校验)

29, 创建16号文件(二进制文件)

80 E0 00 16 07 A8 00 27 F0 F0 FF FF

30, 创建17号文件(二进制文件)

80 E0 00 17 07 28 05 DC F0 F0 FF FF

31, 创建18号文件(循环文件)

80 E0 00 18 07 2E 0A 17 F0 EF FF FF

 
0A 17 是 文件空间 
F0是读权限 
EF是写权限

32,创建钱包文件(电子存折)

80 E0 00 01 07 2F 02 08 F1 00 FF 18

指令说明:80(CLA)E0(INS)0001(P1 P2 文件标识)07(Lc)2F(PBOC ED/EP)0208(默认0208)F1(使用权)00(保留00)FF(默认FF)18(交易明细文件短标识)

33.创建钱包文件(电子钱包)

80 E0 00 02 07 2F 02 08 F0 00 FF 18

指令回复:9000(创建成功) 
指令说明:80(CLA)E0(INS)0002(P1 P2 文件标识)07(Lc)2F(PBOC ED/EP)0208(默认0208)F0(使用权)00(保留00)FF(默认FF)18(交易明细文件短标识) 

参考: 
《cpu卡psam卡》 
《PBOC之CPU卡FM1208的发卡指令讲解.pdf》

MAC 计算:

EF下15文件写入 
选择MF 
发送指令:00A40000023F00 
指令回复:6f15840e315041592e5359532e4444463031a5038801019000 
选择EF 
发送指令:00A4040009A00000000386980701 
指令回复:6f328409a00000000386980701a5259f0801029f0c1e0000000000000000000000000000000000000000000000000000000000009000 
取随机数 
发送指令:0084000004 
指令回复:a3bbcfc89000 
通过写入数据计算MAC 
计算MAC方式可以通过百度搜索PBOC MAC计算工具 
数据源:04D6950022000122000001FFFF01010000220000000000000620160101205012310000 
初始向量:a3bbcfc800000000(随机数+00000000) 
密钥:36363636363636363636363636363636(各自文件下的线路保护密钥) 
计算结果:96E32EF1 
发送指令:04D6950022000122000001FFFF0101000022000000000000062016010120501231000096E32EF1(指令+MAC) 
指令回复:9000(添加成功) 
指令说明:04(CLA)D6(INS)95(文件标识)00(写入数据偏移量)22(Lc Date+Mac)000122000001FFFF01010000220000000000000620160101205012310000(Data 根据情况写入,可以随意定义)96E32EF1(MAC) 
MAC计算如下图:

MAC计算如下图: 

密钥:36363636363636363636363636363636
初始向量:A3BBCFC800000000
数据:04D6950022000122000001FFFF01010000220000000000000620160101205012310000
MAC计算结果:96E32EF1F26E6428
  • 1
  • 2
  • 3
  • 4
  • 5

数据(二进制数据,记录数据)的写入

MF下05文件写入

选择MF 
发送指令:00A40000023F00 
指令回复:6f15840e315041592e5359532e4444463031a5038801019000 
取随机数 
发送指令:0084000004 
指令回复:88bbe4e39000 
通过写入数据计算MAC 
计算MAC方式可以通过百度搜索PBOC MAC计算工具 
数据源:04D6850034000122000001FFFF22000000000000060001201610280000000000010001000000000000000000000000000020501231 
初始向量:88bbe4e300000000(随机数+00000000) 
密钥:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF(各自文件下的线路保护密钥) 
计算结果:AE8D8774 
发送指令:04D6850034000122000001FFFF22000000000000060001201610280000000000010001000000000000000000000000000020501231AE8D8774(指令+MAC) 
指令回复:9000(添加成功) 
指令说明:04(CLA)D6(INS)85(文件标识)00(写入数据偏移量)34(Lc Data+MAC)000122000001FFFF22000000000000060001201610280000000000010001000000000000000000000000000020501231(Data 根据情况写入,可以随意定义)AE8D8774(MAC) 
MAC计算如下图: 

密钥:FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
初始向量:88BBE4E300000000
处理数据:04D6850034000122000001FFFF22000000000000060001201610280000000000010001000000000000000000000000000020501231
计算MAC:AE8D87749035B013

智能卡卡发卡流程(收藏2)相关推荐

  1. sqlyog设置自动补全_sqlyog智能提示如何设置?sqlyog智能提示设置流程介绍

    sqlyog智能提示如何设置?sqlyog智能提示设置流程介绍 更新时间:2019-08-12 作者:cc 最近不少朋友表示还不会设置sqlyog智能提示,使用下面小编就带来sqlyog智能提示设置的 ...

  2. 分析在智能语音对话流程

    一,分析在智能语音对话流程的各个主要模块交互时序流程(以呼入为例),主要流程为: 1.客户拨打电话给智能语音客服. 2.智能语音客服接听电话后,呼叫中心平台调用业务流程管理接口,启动并初始化对话流程状 ...

  3. 《机械制造业智能工厂规划设计》——2.1 智能工厂设计流程

    2.1 智能工厂设计流程 智能工厂的设计流程如图2.1所示. 1.智能工厂设计的总输入是企业的发展战略 大家知道企业发展战略是对企业长远发展的全局性谋划.它是由企业的愿景.使命.政策环境.长期和短期目 ...

  4. 复旦微电子CPU卡发卡流程

    前言 指令列表 发卡 卡片擦除 目录文件及用户密钥的创建及写入 命令报文数据域 指令集列表 指令集说明 数据(二进制数据,记录数据)的写入 MF下05文件写入 EF下15文件写入 前言 近段时间一直在 ...

  5. 从飞猪智能酒店到优酷视频,探索阿里智能研发协同流程

    从测试发布痛点问题到技术解决方案,从技术方案到案例实践分享,从飞猪未来酒店的一站式研发流程到优酷App10人团队的敏捷项目,云效Work Like Alibaba社区第六期沙龙活动正式开始,阿里巴巴4 ...

  6. eos智能合约执行流程

    eos智能合约执行 1. 执行流程 controller::push_transaction()  // 事务 -> transaction_context::exec()  // 事务 -&g ...

  7. 区块链安全100问 | 第七篇:智能合约审计流程及审计内容

    零时科技--专注于区块链安全领域 深圳零时科技有限公司(简称:零时科技),公司成立于2018年11月,是一家专注于区块链生态安全的实战创新型网络安全企业,团队扎根区块链安全与应用技术研究,以丰富的安全 ...

  8. 服装智能生产设备及其流程

    ​服装是穿在身上历史画卷,中国几千年的传承都可以通过服装窥见一二.作为人类生活四大元素--"衣食住行"之首,人们对锦衣美服的追求愈演愈烈,现代人消费清单中至少三分之一属于服装,无论 ...

  9. 国家普通话水平计算机辅助测试考试流程,2018年9月国家普通话水平智能测试考试流程...

    国家普通话水平智能测试系统考生测试流程及注意事项 测试流程: 您好!欢迎使用国家普通话水平智能测试系统.为了能够取得更好的测试效果,请您仔细阅读下面的注意事项:一.登录阶段:1.请正确佩戴好耳麦,麦克 ...

  10. 阿里云视频服务(视频边缘智能服务)接入流程

    本文档介绍视频边缘智能服务对接方式与控制台操作流程. 1.开通服务 请在如下路径找到LinkVisual:阿里云官网>物联网平台>视频服务,开通服务后,可以进入控制台使用服务完成设备对接. ...

最新文章

  1. 2017年10月21日普及组 简单单词
  2. 别再说找不到Python练手项目了,这80个拿去过冬
  3. 斐波那契数拓展问题:leetcode-70 爬楼梯问题 leetcode-1137 泰波那契数问题解法
  4. 求中位数中回文数之和C语言,一些算法题及答案
  5. Java学习笔记之:Java String类
  6. Android学习四、Android中的Adapter
  7. html radio 更换图片,html修改radio、checkbox样式
  8. linux内核nasm,在x86汇编代码,NASM,Linux中操作字符串
  9. LeetCode 25 Reverse Nodes in k-Group Add to List (划分list为k组)
  10. ai的利与弊 辩论_为什么AI辩论失败了
  11. SVP——一种用于深度学习的高效数据选择方法
  12. 使用前端方式挑战 Chrome 小恐龙游戏高分
  13. 一文讲解AGV机器人的12种导航导引方式,收藏备用
  14. 一维无限深势阱定态薛定谔方程
  15. 002输出一个正方形
  16. MFC+Opencv以图拼图
  17. 蓝桥杯OJ示例题目之A+B问题——掌握获取输入的基本方法(Python)
  18. 2014南京甲骨文实习生面试
  19. excel处理几十万行数据_EXCEL的重生!处理百万行数据竟如此简单
  20. react钩子_了解用户的React钩子

热门文章

  1. xshell功能大全(上)
  2. 极寒天气肆虐美国中西部地区
  3. gmail 邮箱服务器,gmail邮箱设置
  4. 清理浏览器html缓存图片吗,浏览器怎么清除缓存
  5. php简历怎么写比较出彩,如何让简历出彩 简历吸引人有几个方面
  6. 论文阅读:在Stiefel流形上的黎曼优化
  7. 计算机上面的用户帐户怎么删除,怎么删除用户帐户的教程详解【图解】
  8. C# 获取磁盘空间信息
  9. Python数据分析学习 二
  10. 玩玩Spring之初章