Драйвер бесплатного программного обеспечения CCID

Carding 4 Carders

Professional
Messages
2,731
Reputation
13
Reaction score
1,375
Points
113
Этот пакет предоставляет исходный код для универсального драйвера USB CCID (устройства интерфейса микросхемы / смарт-карты) и ICCD (устройства интегральных схем).
См. спецификации USB CCID и ICCD от рабочей группы USB .

Получите выпущенные / стабильные версии
Перейдите в раздел Скачать. Предоставлены .tar.bz2архивы, готовые к созданию, используя:
Code:
tar xzvf ccid-*.tar.bz2
cd ccid-*
./configure
make
make install

Последний README находится на README.md.

Получите текущий исходный код из git
Если вы разработчик языка C (или знаете, что делаете), вы также можете получить доступ к версия разработки git. Возможно, вам понадобится использовать версию git для поддержки последних добавленных читателей.
Code:
git clone --recursive https://salsa.debian.org/rousseau/CCID.git
cd CCID
./bootstrap
./configure
make

Поддерживаемые основные функции CCID / ICCD
  • Уровни обмена
    • короткий APDU
    • расширенный APDU (с некоторыми ограничениями и отсутствием поддержки со стороны ПК / SC)
    • TPDU
    • персонаж
  • протоколы карт
    • Т = 0
    • Т = 1
  • Выбор параметра протокола (PPS)
    • переговоры с водителем при необходимости
    • выбрана самая высокая скорость связи карты / считывателя
    • конкретный режим поддерживается
  • считыватели с несколькими слотами
  • составные устройства CCID
  • Особенности PC / SC v2, часть 10:
    • GET_FEATURE_REQUEST
    • безопасная проверка PIN-кода (FEATURE_VERIFY_PIN_DIRECT)
    • изменить ввод PIN-кода (FEATURE_MODIFY_PIN_DIRECT)
    • свойства PIN-кода считывателя (FEATURE_IFD_PIN_PROPERTIES)
    • Многофункциональный считыватель терминала для карт, прямой (FEATURE_MCT_READER_DIRECT)
    • получить свойства читателя в форме TLV (FEATURE_GET_TLV_PROPERTIES)
      • bMinPINSize и bMaxPINSize: как узнать размеры PIN-кода, поддерживаемые устройством чтения pinpad?
      • bEntryValidationCondition
      • bPPDUSupport
      • sFirmwareID
      • bTimeOut2
      • wLcdMaxCharacters и wLcdMaxLines
      • wLcdLayout
      • dwMaxAPDUDataSize
      • wIdVendor и wIdProduct
    • отправить команды перехода CCID (FEATURE_CCID_ESC_COMMAND)
  • Список скоростей передачи данных
  • Локализация сообщений на ЖК-дисплее (Gemalto GemPC PIN PAD, Covadis Véga-Alpha)
  • Расширенный APDU (только для карт T = 1 и если ваш считыватель находится в режиме TPDU или расширенном APDU. Для карт T = 0 этим управляет само приложение).
  • SCardGetAttrib () атрибуты
  • ICCD версии A и B
  • Выборочная приостановка USB
  • Эффективность использования ОЗУ для встроенных систем, использующих--enable-embedded
  • Статистика дескриптора CCID

Функции CCID еще не поддерживаются
  • Управление приостановкой / возобновлением (например, на ноутбуке)
  • Изменение тактовой частоты считывателя
Свяжитесь с Людовиком Руссо если вы хотите увидеть поддержку вышеупомянутых еще не поддерживаемых функций и у вас есть бюджет.

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

Как получить поддержку
Если у вас возникла проблема и вы хотите получить поддержку, вы должны указать следующую информацию:

Версии
  • Версия драйвера CCID
  • pcsc-lite версия
  • вывод команды " /usr/sbin/pcscd --version"

Платформа
  • Название и версия операционной системы или дистрибутива GNU / Linux.
  • Детали оборудования: стандартный совместимый ПК, специальная плата, Raspberry Pi и т. д.
  • Название и версия промежуточного программного обеспечения смарт-карты
  • Название производителя устройства чтения смарт-карт и название модели устройства чтения
  • Имя смарт-карты

Лог
Затем вы должны создать полный журнал (не усекайте его).
  • Если вам необходимо ввести ПИН-код смарт-карты, чтобы воспроизвести проблему, рассмотрите возможность изменения ПИН-кода перед созданием журналов, поскольку значение ПИН-кода будет включено в журналы.
  • Остановите любой запущенный pcscd процесс
    Code:
    sudo LIBCCID_ifdLogLevel=0x000F pcscd --foreground --debug --apdu --color | tee log.txt
  • Остановите pcscd (используя Control-C) после возникновения проблемы и отправьте мне сгенерированный log.txtфайл

gdb backtrace
Если вы столкнулись с падением pcscd, мне будет полезно иметь обратную трассировку.
Code:
$ gdb pcscd
(gdb) set args --foreground --debug --apdu
(gdb) run
wait for the crash to happen
(gdb) backtrace

Затем скопируйте / вставьте полный вывод в свой отчет об ошибке.

Список рассылки
Если у вас есть общие вопросы или сообщения об ошибках, вам следует использовать список рассылки Pcsclite-muscle.
Сначала выполните поиск в архивах списков рассылки. Возможно, ваша проблема уже была решена. Если вы не нашли решения, подпишитесь на список рассылки Pcsclite-muscle и отправьте свой запрос по адресу [email protected].

Проверка соответствия считывателя спецификации CCID
Чтобы узнать, совместимо ли устройство чтения смарт-карт с CCID и должно ли оно поддерживаться этим драйвером, но не указано ниже
Просто получите исходный код этого драйвера, установите зависимости сборки (см. Build-Depends: для систем Debian) и выполните:
Code:
tar xjvf ccid-x.y.z.tar.bz2
cd ccid-x.y.z
./configure
make
sudo ./src/parse > output.txt

и отправьте на [email protected] сгенерированный output.txt файл.
Если ваш ридер совместим с CCID и вы хотите добавить его в список читателей, мне также понадобятся:
  • URL-адрес веб-страницы, описывающей читателя. Обычно это веб-страница описания ридера на веб-сайте производителя.
  • Изображение читателя. Как правило, изображение уже доступно на веб-странице производителя, описанной выше.

Считыватели CCID / ICCD
  • Поддерживаемые считыватели
  • Рабочие считыватели
  • Неподдерживаемые считыватели
  • Считыватели с ограниченными возможностями
Все считыватели тоже включены в большую матрицу .

Выбор считывателя
См. тему «Выбор устройства чтения»: найдите устройство чтения смарт-карт, которое вы ищете, для презентации этого инструмента.

Авторы
Главный автор - Людовик Руссо < [email protected] >.
Он повторно использовал исходный код из других проектов бесплатного программного обеспечения, авторами которых являются:
  • Карлос Прадос для кода синтаксического анализа PPS и ATR (взятого из его драйвера Towitoto) в towitoko/каталоге.
  • Олаф Кирч для кода TPDU T = 1 (из пакета OpenCT) в openct/каталоге. Людовик Руссо значительно улучшил этот код.

Лицензия
Эта библиотека является бесплатным программным обеспечением; вы можете распространять и / или изменять его в соответствии с условиями Стандартной общественной лицензии ограниченного применения GNU, опубликованной Free Software Foundation; либо версии 2.1 Лицензии, либо (по вашему выбору) любой более поздней версии.
Эта библиотека распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемых гарантий ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Подробнее см. Стандартную общественную лицензию ограниченного применения GNU.
Вы должны были получить копию Стандартной общественной лицензии ограниченного применения GNU вместе с этой библиотекой; в противном случае напишите в Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
Полная лицензия доступна по лицензии GNU Lesser General Public License, версия 2.1.

Поддерживаемые операционные системы

GNU / Linux
GNU / Linux с использованием libusb 1.0.x и новее

Mac OS X
Apple включает мой драйвер CCID (версия 1.3.8, выпущенная в июне 2008 г.) начиная с Leopard 10.5.6. См. Письмо от Шона Геддиса, чтобы получить список изменений.
Посмотрите эволюцию драйвера CCID в Lion (10.7), Mountain Lion (10.8), Mavericks (10.9), Yosemite (10.10), El Capitan (10.11), Sierra (10.12), High Sierra.

Snow Leopard (10.6.x) и более поздние версии
Mac OS X Snow Leopard (10.6) и более поздние версии поддерживаются без исправлений. Для сборки драйвера необходимо распаковать архив и выполнить:
Code:
./MacOSX/configure
make
sudo make install

Леопард (10,5)
Mac OS X Leopard (10.5) поддерживается с помощью простого патча . Для сборки драйвера необходимо распаковать архив и выполнить:
Code:
./MacOSX/configure
make
sudo make install

ПРИМЕЧАНИЕ. Выполнение ./MacOSX/configureне будет выполнено , если у вас есть пробел в текущем имени пути к рабочему каталогу.
ПРИМЕЧАНИЕ. Версия pcsc-lite от Apple, установленная вместе с Leopard, имеет много ошибок и проблем.

Тигр (10,4)
Mac OS X Tiger (10.4) использует старый pcsc-lite с некоторыми проблемами:
  • Отсутствует вызов, IFDHSetProtocolParameters() поэтому считыватель неправильно настроен относительно ATR карты.
  • Неправильный API, SCardControl()поэтому вы не можете использовать считыватель пин-падов или любую другую функцию, предоставляемую SCardControl().
  • Невозможно произвести холодный сброс. Возможен только теплый сброс. Раскоментируйте линию #CFLAGS="$CFLAGS -DFAKE_CARD_CHANGED"в MacOSX/configureфальсифицировать движение карты после сброса для имитации холодного сброса. Обратите внимание, что SCardReconnect()тогда произойдет сбой с SCARD_W_REMOVED_CARD.
Вы можете использовать этот (сейчас не поддерживаемый) патч .

Солярис
Драйвер должен работать на Solaris.
Я не могу протестировать это сам, поэтому исправления приветствуются.
Вы можете найти пакет PC / SC-lite от Oracle.

FreeBSD
Драйвер доступен во фрешпорте .

NetBSD (pkgsrc)
Драйвер доступен в pkgsrc как security / ccid .

Другие операционные системы
Это может сработать, а может и не сработать.

Доступные двоичные файлы
Драйверы также доступны в виде дебиан пакетов libccid.
 
Top