Чтение данных PACS (raw Wiegand) с помощью Omnikey 5022 - PullRequest
1 голос
/ 01 июля 2019

Я разрабатываю приложение Java, которое подключается к кард-ридеру HID Omnikey 5022. Что мне нужно, так это чтение битов PACS (необработанных данных Виганда).

У меня точно такая же проблема с этим вопросом, я также вижу данные с помощью приложения PACS Probe:

Как читать данные смарт-карты

К сожалению, предоставленный ответ на это не работает для меня.

Вот что я получаю от PACS Probe:

  • Считыватель карт: HID Global OMNIKEY 5022 Считыватель смарт-карт 0
  • Тип карты: PicoPass 32KS (8x2 + 16)
  • Серийный номер карты (CSN, UID): 32966202F8FF12E0 (шестнадцатеричный)
  • Данные PACS-битов (необработанные Wiegand): 000000310BC53938 (шестнадцатеричные)

Я уже попробовал команду, которую нашел в руководстве Omnikey 5023, неожиданно она возвращает некоторые данные, но это не то, что мне нужно.

Эта команда:

commandAPDU = new CommandAPDU(new byte[] { (byte) 0xFF, (byte) 0x70, (byte) 0x07, (byte) 0x6B, (byte) 0x07,
                (byte) 0xA0, (byte) 0x05, (byte) 0xBE, (byte) 0x03, (byte) 0x80, (byte) 0x01, (byte) 0x04, (byte) 0x00 }); // Read PACS 5023

Возвращает это:

9E020003
// Мне нужно 000000310BC53938

Любая помощь приветствуется, поскольку я новичок в разработке смарт-карт. Заранее спасибо.

1 Ответ

0 голосов
/ 03 июля 2019

Ответный APDU, который вы получаете от считывателя, представляет собой код ошибки неподдерживаемой проприетарной команды.

Вам потребуется безопасный сеанс для доступа к битовым данным PACS с использованием считывателей OMNIKEY 5022 или OMNIKEY 5023.

Если у вас нет соответствующей документации для этого считывателя, я, вероятно, буду придерживаться серийного номера карты (UID, CSN) и использовать оболочку Java для ПК / SC (или pcsclite) для подключения к считывателю и карте.

Затем выполните команду (через SCardTransmit (FFCA0000 APDU), чтобы получить UID (32966202F8FF12E0), показанный в примере вывода из https://PACSprobe.com

Что касается Java: используйте smartcardio lib. Это хорошая оболочка дляродной ПК / SC

Перенос протоколов защищенных каналов на Java - это большая работа. Вызвать стороннюю библиотеку может быть проще.

...