1

我正在尝试使用 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 和协议。

以下案例和协议似乎适用于读取二进制数据,但它让我感到困惑,因为我没有使用智能卡而不是 RFID。

var apdu = new CommandApdu(IsoCase.Case2Short,rfidReader.ActiveProtocol)

使用来自https://code.google.com/p/pcsc-sharp/的 PCSC-sharp.dll :

using PCSC;
using PCSC.Iso7816;
4

1 回答 1

2

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

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

我什至不必设置协议和 IsoCases。只是做了一个字节的传输。

ScardReader reader = new ScardReader();

reader.Transmit(bytesToSend, ref ResponseBuffer);
于 2014-03-11T07:47:49.600 回答