我正在尝试使用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和协议。
以下案例和协议似乎在读取二进制数据方面起作用,但由于我不使用smartcard而不是RFID,这使我感到困惑。
var apdu = new CommandApdu(IsoCase.Case2Short,rfidReader.ActiveProtocol)
从https://code.google.com/p/pcsc-sharp/使用pcsc-sharp.dll:
using PCSC;
using PCSC.Iso7816;
我越过了这个,并且忽略了一个非常重要的细节。我要打开的文件是一个子文件,直到已经打开父母才打开。
当我在阅读二进制数据之前以正确的顺序打开所有文件时,它起作用。
我什至不需要设置协议和异类酶。只是进行了字节的传输。
ScardReader reader = new ScardReader();
reader.Transmit(bytesToSend, ref ResponseBuffer);