Как читать полис ОМС карт-ридером Sankyo ICT3K7 — без WINSCARD?
Есть карта ОМС (медицинский полис).Есть карт-ридер Sankyo ICT3K7.Задача: считать данные.
С карт-ридерами ранее никогда не работал.
Пока получилось:
- Подключиться к карт-ридеру и инициализировать его работу
- Захватить карту
- Получить ответ карты на сброс (ATR)
Не получается считать что-либо с карты.Возможно использую не те команды, возможно пытаюсь читать не те директории и файлы: нет понимания.
Прошу помощи, особенно если кто работал с ICT3K7 или ICT3K5.
Нашел 2 ветки на форумах, где через WinSCard по APDU у людей получалось читать ОМС: Выбирали foms_root, затем FOMS_ID, выбирали файл 0201, читали данные.Повторить не удалось.
Нашел исходник программы OMSReader (есть на GIThub). Пробовал воспроизвести последовательность действий этой программы: не получил ни каких данных.Работа зашла в тупик.
Использую RS8Test.ехе так:
Для инициализации: C$30$30$33$32$34$31$30$30$31$30$30
Забрать карту: C$32$30
Активировать на IC-карту и получить ATR: C$49$30
Дальше пробовал: при помощи C$49$34 или C$49$34 посылать/читать данные. Ошибок карт-ридер не отдает, но всегда Data size = 0.
Карта:
- Имеет чип, не имеет магнитных полос
- Поддерживает T=1 (судя по ATR)- ATR: 3B D9 11 00 81 31 FE 8D 00 00 46 4F 4D 53 31 2E 31 32
Данная модель карт-ридера:
- Подключается к com-порту
- Не имеет своих драйверов и не требует их для работы
- НЕ РАБОТАЕТ С WINSCARD
Попытка чтения:
C$49$34$00$a4$04$0c$07$46$4f$4d$53$5f$49$44C$49$34$00$a4$02$0c$02$02$01C$49$34$00$b0$00$00$00Ответ: NI465 ( 4E 49 34 36 35 ) Data size = 0
Написал "обертку" для работы с ICT3K5_6240DLL.dll под Delphi.
Для тестов тех-же команд, что написал выше - использую ExecuteCommand.