APDU Выбор определенного файла и чтение двоичных данных

Я пытаюсь прочитать очень конкретную двоичную информацию со смарт-карты, используя API ПК/SC в С#.

Я хочу выбрать конкретный файл

00 A4 02 0C 02 05 20

И читать бинарные данные

00 B0 00 00 8F

Насколько я знаю, 5 байтов для чтения двоичных данных расположены в следующем порядке:

Class, Instruction, Parameter 1, Parameter 2, Length

Мой первый вопрос заключается в том, в каком порядке находится файловый массив select из 7 байтов.

Class,Instruction, Parameter 1, Parameter 2, ?,?,?

Мой второй вопрос заключается в том, какой IsoCase и протокол следует использовать для каждой команды.

Следующий случай и протокол, кажется, работают для чтения двоичных данных, но это меня смущает, так как я не использую смарт-карту и не RFID.

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

Использование PCSC-sharp.dll из https://code.google.com/p/pcsc-sharp /:

using PCSC;
using PCSC.Iso7816;

person Eddie Cheng    schedule 10.03.2014    source источник


Ответы (1)


Я переусердствовал и упустил очень важную деталь. Файл, который я пытался открыть, был подфайлом и не мог быть открыт, пока его родитель уже не открыт.

Это сработало, когда я открыл все файлы в правильном порядке перед чтением двоичных данных.

Мне даже не пришлось устанавливать протоколы и IsoCase. Только что сделал передачу байтов.

ScardReader reader = new ScardReader();

reader.Transmit(bytesToSend, ref ResponseBuffer);
person Eddie Cheng    schedule 11.03.2014
comment
Вы все еще знаете, что было в вашем массиве bytesToSend? - person Oscar K; 22.02.2021