当前位置:首页 > CPU基础知识为什么用CPU卡IC卡从接口方式上分
MAC的生成:
初始值:4字节随机数+00 00 00 00 密码:PIN解锁密钥
生成MAC码的数据:CLA+INS+P1+P2+LC+加密的PIN(8字节)
六、CPUDEMO的使用
七、RD读写器函数库的使用说明
(1) int cpu_reset(int icdev,unsigned char *data_buffer); 说明: CPU卡复位操作
参数: icdev: 初始化返回的设备标识符 data_buffer:复位响应返回的字符串 返回: = 0 正确
< 0 错误(见错误代码)
(2) int cpu_protocol(int icdev,int len, unsigned char *send_cmd, unsigned char *receive_data)
说明: 按照CPU卡T=1的传输协议向读写器发送命令串 参数: icdev: 初始化返回的设备标识符 send_cmd: 对卡操作的命令串(T=1格式) len: 命令串的长度
receive_data: CPU卡返回的数据串 返回: = 0 正确
< 0 错误(见错误代码)
(3) int cpu_comres(int icdev,int len, unsigned char *send_cmd, unsigned char *receive_data)
注意事项:
1)不管是T=0或T=1的卡,RD读写器都是按T=1格式来传输命令的。 发送的命令串send_cmd包括:
NAD+PCB+LEN+COMMAND+BCC 对于T=0的卡,NAD、PCB可填‘00’;
返回值receive_data结构与Send_cmd相同。
2)cpu_comres与cpu_protocol()的不同
a. 当上层函数库收到状态字节SW1SW=61XX时,Cpu_protocol()函数做进一步处理,向读写器下发取应答字节指令(Get Respond),并将数据和状态字节一并返回;而cpu_comres()函数不做任何处理,直接将状态字节SW1SW2返回。
b. 当上层函数库接收到状态字节SW1SW=6CXX时,Cpu_protocol()函数做进一步处理,将XX赋予le后重新发送上次指令,并将数据和状态字节一并返回;而cpu_comres()函数不做任何处理,直接将状态字节SW1SW2返回
共分享92篇相关文档