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

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

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

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 я должны использовать для каждой команды.

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

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

Используя PCSC-sharp.dll с https://code.google.com/p/pcsc-sharp/:

using PCSC;
using PCSC.Iso7816;
1 ответ

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

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

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

ScardReader reader = new ScardReader();

reader.Transmit(bytesToSend, ref ResponseBuffer);

licensed under cc by-sa 3.0 with attribution.