Устройство чтения смарт-карт .NET или COM HID iCLASS

#c# #.net #smartcard #winscard #iso-15693

#c# #.net #смарт-карта #winscard #iso-15693

Вопрос:

У меня есть кодировка, которую я почти всегда использую со своими смарт-картами Omnikey RFID CardMan 5321. Проблема в том, что сегодня мы получили новые карты с пометкой «HID iCLASS GL», которые, похоже, плохо работают с нашим кодом.

Не просматривая весь исходный код, наша проблема возникает при вызове следующей строки, которая в основном сообщает нам длину данных: lResult = SCardTransmit(hCard, 0, bytCommand, lLen, 0, byReadBuffer, iReturnlength)

Мы возвращаем только длину 2, данные которой помечены как «x69 x86». Даже если я скажу ему прочитать все 255 chr, остальные просто будут помечены как null.

Теперь я знаю, что наш считыватель может считывать эти карты, поскольку диагностический инструмент OMNIKEY показывает нам следующее: Статус: смарт-карта вставлена FW: 5.10 Порт: USB Lib: 1.0 Nme смарт-карты: iCLASS 32KS 8×2 16 ART: Действительный протокол: ISO 15693 (часть 2) PICTOPCD: 26,48 кбит / с PCDtoPICC: 26,48 кбит / с Частота: 13,56 МГц

Как я объяснял ранее, в моем коде все работает нормально, за исключением того, что для моей карты не возвращаются данные, кроме «x69 x86», что, безусловно, неверно.

Если у кого-нибудь есть опыт чтения с карты HID iCLASS, я был бы очень признателен за отзывы о том, как это сделать. Даже если нам придется лицензировать программное обеспечение, это нормально.

Заранее спасибо!

Комментарии:

1. К вашему сведению, диагностический инструмент OMNIKEY — это старый инструмент. вы можете использовать HID Omnikey Workbench.. Это более продвинутый инструмент диагностики, чем OMNIKEY.

Ответ №1:

в случае, если вы пытаетесь получить доступ к данным физического доступа, я бы сначала тщательно проверил криптопротокол между устройством чтения и хостом, а также убедился, что вы используете устройство чтения с последней прошивкой (5.20 для OMNIKEY 5321).

Я бы также представил код для проверки карточной системы с помощью нашего защищенного канала связи между хостом и приложением считывателя.

Дополнительные ссылки:http://www.hidglobal.com/documents/ok_contactless_developer_guide_an_en.pdf

Ответ №2:

Причина, по которой вы получаете массив в 2 байта, заключается в том, что ваша команда выполняется с ошибкой, поэтому чип возвращает только флаги SW1 и SW2

в вашем случае это означает, что

 x69 --> Command not allowed (further qualification in SW2, see table 17) 
x86 --> Command not allowed (no current EF)
  

Таким образом, вы можете подтвердить, что файл вашего приложения на чипе выбран правильно
дополнительная информация @
http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-4_5_basic_organizations.aspx#table17

Комментарии:

1. Извините, что не видел этого до сих пор, но в итоге я решил проблему.