FM1208 CPU卡读写流程

/*********************************************************/
一张新卡读写全过程(新卡外部认证秘钥为FFFFFFFFFFFFFFFF):

 

写卡流程:
1、选择主目录(MF 3F00)

2、外部认证
3、删除主目录下数据
4、创建主秘钥(MF)文件(0000)
5、写入秘钥文件

6、创建应用目录(ADF 3F01)
7、创建ADF的秘钥文件(0000)
8、写入秘钥文件

9、创建应用文件
10、写入数据

 

具体命令如下:

选择主目录:
<- 00A40000023F00
-> 6F10840E315041592E5359532E44444630319000

外部认证:
    获取自由数:
    <- 0084000004
    -> 06CEE4F29000
    加密:
    06CEE4F200000000 与秘钥FFFFFFFFFFFFFFFF进行单倍长DES加密得到FEC63184B307AEFD
    认证:
    <- 0082000008FEC63184B307AEFD
    -> 9000

建立主目录下密钥文件:
<- 80E00000073F006C01FAFFFF
-> 9000
写入3F00目录下外部认证密钥(单倍长DES加密的秘钥必须为8字节,故新建的秘钥为8个字节;若用3DES,则秘钥长度为16个字节,此处的秘钥为16个字节)
<- 80D401000DF9F0F0AA881122334455667788
-> 9000


建立应用目录(ADF):
<- 80E03F010D380600F0FA95FFFF4144463031
-> 9000

选择应用目录3F01:
<- 00A40000023F01
-> 6F07840541444630319000

建立ADF目录下密钥文件:
<- 80E00000073F010095FAFFFF
-> 9000
写入3F00目录下外部认证密钥(单倍长DES加密的秘钥必须为8字节,故新建的秘钥为8个字节;若用3DES,则秘钥长度为16个字节,此处的秘钥为16个字节)
<- 80D401000DF9F0F0AA881122334455667788
-> 9000

建立应用目录下二进制文件:
<- 80E0000307280010FAFAFFFF
-> 9000

写入二进制文件内容
<- 00D60000081122334455667788
-> 9000

 

 

/*******************读的流程**********************/

 

读的流程:
1、选择读的目录
2、外部认证
  1)获取随机数
  2)DES加密
  3)外部认证
3、读取文件

具体命令如下:


选择应用目录3F01:
<- 00A40000023F01
-> 9000


获取自由数:
Send:0084000004
-> 06CEE4F29000

外部认证:
<- 0082000008FEC63184B307AEFD
-> 9000

 

选择二进制文件03:
<- 00B0830000
-> 112233445566778800000000000000009000



 

转载于:https://www.cnblogs.com/weishengzhong/p/9494188.html

你可能感兴趣的:(FM1208 CPU卡读写流程)