Атрибут Reader MaxIFSD из устройства чтения смарт-карт

Я пытаюсь найти метод для чтения атрибутов IFD (интерфейсное устройство - серийный номер) из считывателя, когда карта отсутствует. Похоже, в API SCard есть требование, чтобы все атрибуты могли быть прочитаны только через дескриптор карты. Хотя это кажется очевидным для атрибутов карты, для чтения атрибутов считывателя это плохое требование.

Один из маршрутов, на который я смотрю, - это отправка команды TLV непосредственно драйверу считывателя; который должен работать, но проблема в том, что мне нужно выяснить имя, которое драйвер выставил для своего FDO.

Даже многие утилиты для смарт-карт, которые я скачал и протестировал, также требуют наличия карты. Однако одна утилита (PCSCDiag.exe) может получить одно значение, которое мне нужно, даже если карта отсутствует.

1 ответ

Решение

Вы можете получить ручку, передав SCARD_SHARE_DIRECT в SCardConnect (остерегайтесь возможных проблем с переносимостью!). Взгляните на src/libopensc/reader-pcsc.c в OpenSC для чтения параметров считывателя (если доступны, используются только стандартные) из считывателя (драйверов).

Другие вопросы по тегам