|
|
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
Возникла необходимость считать данные со смарт-карты Полис ОМС Карту подключить и определить смог. Получил атрибуты карты. Далее затык... Куда копать? PS Использую обертку WinSCard ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 10:31 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
ShadowMenКуда копать? Копать в сторону "зачем я это сделал и что мне нужно в итоге?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 10:35 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
wadman"зачем я это сделал и что мне нужно в итоге?" Возникла необходимость считать данные со смарт-карты Полис ОМС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 10:38 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
ShadowMenwadman"зачем я это сделал и что мне нужно в итоге?" Возникла необходимость считать данные со смарт-карты Полис ОМС Это понятно. С атрибутами то в чем проблема, раз они прочитаны? Зашифрованы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 10:41 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
и что дальше делать со строкой ATR? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2014, 10:51 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
ShadowMen, а исходник чтения полиса покажите пож-та если это возможно (возникла такая же потребность) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2014, 10:19 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
Я занимался этой темой все материалы которые удалось найти есть в статье http://myshinobi.ru/rabota-s-e-lektronny-mi-polisami-oms-smart-kartami-chast-pervaya/. Могу сказать просто командами не отделаетесь...Можно использовать готовые библиотеки они приложены в статье...А параметры вызова функций выдернуть из проекта на C++. Сейчас рабоатю над тем что реализовать это на Delphi. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2015, 20:35 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
ShadowMenи что дальше делать со строкой ATR? Чтобы прочитать карту - ATR не нужен. Это всего лишь параметр карты - ответ карты на операцию Reset. По этому параметру (в идеальных условиях) можно определить тип карты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2015, 14:44 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
ShadowMenwadman"зачем я это сделал и что мне нужно в итоге?" Возникла необходимость считать данные со смарт-карты Полис ОМС Что за смарт-карта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2015, 14:44 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
wadmanShadowMenпропущено... Возникла необходимость считать данные со смарт-карты Полис ОМС Это понятно. С атрибутами то в чем проблема, раз они прочитаны? Зашифрованы? Всё зависит от типа карты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2015, 14:46 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
Leo3456Я занимался этой темой все материалы которые удалось найти есть в статье http://myshinobi.ru/rabota-s-e-lektronny-mi-polisami-oms-smart-kartami-chast-pervaya/. Могу сказать просто командами не отделаетесь...Можно использовать готовые библиотеки они приложены в статье...А параметры вызова функций выдернуть из проекта на C++. Сейчас рабоатю над тем что реализовать это на Delphi. В этих исходниках ничего толкового. В чужой библиотеке метод, на вход которого подается наименование считывателя - на выходе данные. Были б исходники либы, была бы и возможность реализации своего метода чтения данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.03.2015, 15:02 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
Всё успешно решено после правильного применения APDU комманд. APDU комманды можно вытащить из примера на C++ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 08:38 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
ShadowMen, можно выложить код сюда? Идущий следом за тобой обязательно задаст вопрос, где взять примеры на С++. Следующим будет, как перевести этот код с "богомерзкого" © Си на дельфи :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 09:43 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
Это было в 2015 году... Исходники не сохранились за ненадобностью... Но могу направить в нужное русло... Чтение с карты осуществляется с помощью APDU комманд. 1. Подключаемся к карте. Получаем атрибуты карты (talkToMe в помощь) 2. Читаем root. Если всё сделано правильно должен возвратиться ответ с кодом 90 // Пример APDU комманд для чтения 00 a4 04 0c 09 66 6f 6d 73 5f 72 6f 6f 74 //Выбор foms_root 00 a4 04 0c 07 46 4f 4d 53 5f 49 44 //Выбор FOMS_ID 00 a4 02 0c 02 02 01 //Выбор файла 0201 00 b0 00 00 01 //(62) 00 b0 00 01 01 //(81) 00 b0 00 02 01 //(A7) 00 b0 00 03 a7 //Чтение данных ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2017, 13:46 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
ShadowMen// Пример APDU комманд для чтения 00 a4 04 0c 09 66 6f 6d 73 5f 72 6f 6f 74 //Выбор foms_root 00 a4 04 0c 07 46 4f 4d 53 5f 49 44 //Выбор FOMS_ID 00 a4 02 0c 02 02 01 //Выбор файла 0201 00 b0 00 00 01 //(62) 00 b0 00 01 01 //(81) 00 b0 00 02 01 //(A7) 00 b0 00 03 a7 //Чтение данных доброе время суток а это точно для смарт-карты с полисом команды? у меня на каждую из них возвращается 6D00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 05:38 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
заработало, какие-то данные увидел теперь надо понять что это за данные и как их декодировать автор5F 26 10 36 31 35 31 37 31 30 38 38 36 30 30 30 34 36 30 5F 21 12 420 2018 420 A0 420 452 420 45E 420 408 420 490 420 98 420 45C 420 452 5F 22 0C 420 201C 420 452 420 203A 420 98 420 45C 420 452 5F 23 14 420 45C 420 98 420 459 420 45B 420 203A 420 452 420 2022 420 2019 420 45C 420 452 5F 25 01 02 5F 24 04 13 08 19 201A 7F 30 33 5F 31 06 420 A0 420 45B 420 A4 5F 32 27 420 A0 420 455 421 403 421 403 420 451 420 2116 421 403 420 454 420 B0 421 40F 20 420 A4 420 B5 420 491 420 B5 421 402 420 B0 421 2020 420 451 421 40F 5F 29 12 420 A0 420 45B 420 40E 420 45E 420 45B 420 2019 2D 420 45C 2F 420 201D 5F 2A 04 452 00 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 09:04 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
ShadowMen// Пример APDU комманд для чтения 00 b0 00 03 a7 //Чтение данных данные получилось увидеть, но это только часть того, что на полисе лежит какими командами остальное увидеть можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.01.2018, 17:13 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
genok, фонд омс когда-то раздавал pcbcode.dll для дешифровки этих данных, сейчас не знаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.01.2018, 22:48 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
mvbgenok, фонд омс когда-то раздавал pcbcode.dll для дешифровки этих данных, сейчас не знаю. библиотеку эту очень не хотелось бы использовать так и не могу остальные коды APВDU найти неужто нет ни у кого? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2018, 05:33 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
Всем привет. Благодаря вашей ветке получилось почти домучать ОМС полис. Выполняя команды ShadowMen // Пример APDU комманд для чтения 00 a4 04 0c 09 66 6f 6d 73 5f 72 6f 6f 74 //Выбор foms_root 00 a4 04 0c 07 46 4f 4d 53 5f 49 44 //Выбор FOMS_ID 00 a4 02 0c 02 02 01 //Выбор файла 0201 00 b0 00 00 01 //(62) 00 b0 00 01 01 //(81) 00 b0 00 02 01 //(A7) 00 b0 00 03 a7 //Чтение данных получил схожий набор данных как genok. Расшифровать их можно без дополнительных сторонних библиотек. Что бы увидеть результат, можно вставить выходной результат в Notepad++ (выделить весь текс) – Плагины-Converter-Hex to ANSII . А дальше кто на чем пишет (у меня задача на Java). Между блоками 5F 26 и 5F 21 (Номер полиса) Между блоками 5F 21 и 5F 22 (Фамилия) Между блоками 5F 22 и 5F 23 (Имя) Между блоками 5F 23 и 5F 25 (Отчество) Между блоками 5F 24 и 5F 31 (Дата рождения в открытом виде ее сразу видно) остальные данные (наверно ОКАТО на двух полисах одинаково) Между блоками 5F 31 и 5F 32 (Гражданство) Между блоками 5F 32 и 5F 29 (Гражданин) Между блоками 5F 29 и 90 00 (Кусок от Места рождения). Возможно между 5F 25 и 5F 24 пол. (для тестов нет женского полиса только 2 мужских) Название страховой находится в другом файле (00 a4 02 0c 02 02 01 //Выбор файла 0201). Пробовал 02 02 , 02 00, 03 01 В каком то вывалил информацию о карте. Может кто знает где лежат остальные данные? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2018, 15:42 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
Dstr1100, там чуть не так 5F 26 - обозначение блока далее - его длина, её нужно использовать если будешь брать то, что типа между блоками лежит, то рискуешь напороться на проблему в случае, когда порядок блоков будет изменен. по поводу остальных данных - остальная часть насколько я понял зашифрована второй файл - это как раз сертификат ФОМСа и еще куча чего-то. ХЗ как вытащить данные, так и не победил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2018, 02:07 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
genok, Спасибо. Допилю. Остальные зашифрованные данные в каком именно файле (попробую расшифровать)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2018, 10:50 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
00 a4 02 0c 02 02 02 //Выбор файла 0202 насколько понял, тут читал кусками его, он большой ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2018, 02:26 |
|
||
|
Чтение электронного полиса ОМС
|
|||
|---|---|---|---|
|
#18+
genok, А есть ли в природе описание структуры хранения данных? Она ведь иерархическая? В настоящий момент я нашел вот такое описание сигнатур для полей (вот тут это есть https://github.com/lr131/OMSReader): # --- Возможные поля возвращаемого пакета --- Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. В этом проекте вполне понятно описан способ чтения информации по владельцу и по СМО. Но меня смущает, что извлечение отдельных полей основано на поиске начала каждого блока в массиве байтов. Пытался декомпилировать библиотеки работы с полисом, написаные на C#, но получается ерунда. Можно где-то найти описание структуры записей электронного полиса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.07.2018, 12:47 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39579531&tid=2039364]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 410ms |

| 0 / 0 |
