/*********************************************************/
一张新卡读写全过程(新卡外部认证秘钥为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