APDU选择特定文件并读取二进制数据

时间:2014-03-10 16:31:16

标签: c# pcsc

我正在尝试使用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;

1 个答案:

答案 0 :(得分:0)

我过度了,忽略了一个非常重要的细节。 我试图打开的文件是一个子文件,在父文件已经打开之前无法打开。

当我在读取二进制数据之前以正确的顺序打开所有文件时,它工作正常。

我甚至不需要设置协议和IsoCases。刚刚传输了字节。

ScardReader reader = new ScardReader();

reader.Transmit(bytesToSend, ref ResponseBuffer);