我正在尝试使用c#中的PC / SC API从智能卡读取非常具体的二进制信息。
我想选择一个特定的文件
00 A4 02 0C 02 05 20
读取二进制数据
00 B0 00 00 8F
据我所知,读取二进制数据的5个字节的顺序如下:
Class, Instruction, Parameter 1, Parameter 2, Length
我的第一个问题是7个字节的选择文件数组的顺序是什么。
Class,Instruction, Parameter 1, Parameter 2, ?,?,?
我的第二个问题是IsoCase和Protocol I应该用于每个命令。
以下案例和协议似乎适用于读取二进制数据,但由于我没有使用智能卡而不使用RFID,因此让我感到困惑。
var apdu = new CommandApdu(IsoCase.Case2Short,rfidReader.ActiveProtocol)
使用https://code.google.com/p/pcsc-sharp/中的PCSC-sharp.dll:
using PCSC;
using PCSC.Iso7816;
答案 0 :(得分:0)
我过度了,忽略了一个非常重要的细节。 我试图打开的文件是一个子文件,在父文件已经打开之前无法打开。
当我在读取二进制数据之前以正确的顺序打开所有文件时,它工作正常。
我甚至不需要设置协议和IsoCases。刚刚传输了字节。
ScardReader reader = new ScardReader();
reader.Transmit(bytesToSend, ref ResponseBuffer);