Usb CCID上的ISO/IEC 7816命令

Usb CCID上的ISO/IEC 7816命令,usb,smartcard,icc,smartcard-reader,iccid,Usb,Smartcard,Icc,Smartcard Reader,Iccid,我现在正在探索智能卡的世界,有些事情我不明白。 我正在开发一个使用CCID协议与我的智能卡读卡器(USB)通信的驱动程序(我成功地实现了基本通信) 但是,如果我想使用ISO/IEC 7816-4规范与我的卡通信,我将继续使用CCID协议,在PC_to_RDR_XfrBlock()请求中,在数据部分(偏移量为10 cf$6.1.4的abData第30页规范),我将直接发送ISO/IEC 7816命令作为READ_BINARY,WRITE_BINARY,SELECT。。。智能卡阅读器将使用RDR_t

我现在正在探索智能卡的世界,有些事情我不明白。 我正在开发一个使用CCID协议与我的智能卡读卡器(USB)通信的驱动程序(我成功地实现了基本通信)

但是,如果我想使用ISO/IEC 7816-4规范与我的卡通信,我将继续使用CCID协议,在PC_to_RDR_XfrBlock()请求中,在数据部分(偏移量为10 cf$6.1.4的abData第30页规范),我将直接发送ISO/IEC 7816命令作为READ_BINARY,WRITE_BINARY,SELECT。。。智能卡阅读器将使用RDR_to_PC_DataBlock()回答我的问题(第49页$6.2.1)

这个问题与操作系统无关,不使用任何现有的驱动程序或操作系统库


我说得对吗?

我通过用wireshark分析电车找到了答案。它似乎像我描述的那样工作

下面是一些链接,可以帮助尝试做同样事情的用户

要设置usb捕获,请执行以下操作:


在wireshark(ccid数据包内部)中启用iso 7816帧分析:

以防止未来失望:iso 7816-4是一个标准而不是规范;这特别意味着,你不能依靠任何功能来真正实现从令牌或卡的问题。感谢有用的链接wireshark和CCID规范。