Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получить номер Smart-карточки / 25 сообщений из 26, страница 1 из 2
07.10.2009, 14:56
    #36237620
New_Frozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
Есть устройство omnikey cardman 3121 с помощью которого считываю информацию с карточки используя winscard.dll

Мне необходимо получить ICCID номер карточки.
Нашел функцию (SCardTransmit), с помощью которого можно передавать данных от карточки и на нее.
Вроде даже нашел код, который необходимо передать
"00A40004022FE2".
Однако не могу получить результат.

Возможно кто-то работал с PC/SC.

ИЛИ у кого-то есть исходники обращения, чтобы вытянуть эту функцию.
Заранее спасибо за любую помощь.
...
Рейтинг: 0 / 0
07.10.2009, 15:47
    #36237777
x77
x77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
New_Frozen,

мне на вашу команду все тестовые карты дружно ответили 6A86. 00A4 - это select file, а вы точно знаете, что такой файл есть на карте?

и в чём проблема с получением результата? какой код ошибки возвращает ридер?
...
Рейтинг: 0 / 0
07.10.2009, 16:04
    #36237851
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
я понятия не имею в предмете, о котором идет речь :-))
но если так поискать то находится такое (вдруг поможет): A Smart Card Framework for .NET . Там наверху еще ссылки на демо-проект и документацию.
...
Рейтинг: 0 / 0
07.10.2009, 16:10
    #36237877
x77
x77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
Кроик Семён,

речь идёт о том, чтобы вытащить ICCID (уникальный идентификатор) из телефонной симки.
...
Рейтинг: 0 / 0
07.10.2009, 16:12
    #36237896
New_Frozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
x77, возвращает код ошибки: '6E 00' wrong instruction class giveb in the command

Я хочу обратиться к файлу ICC Identification: '2F E2' и получить ICC ID
...
Рейтинг: 0 / 0
07.10.2009, 16:20
    #36237933
x77
x77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
New_Frozen,

всё-таки, речь о симке или банковской карте? просто для симок очень многое зависит от производителя, многие операции требуют он-лайн транзакции с провайдером (operator signing). не все чипы поддерживают APDU в должном объёме. там всё не так просто, на 7816 большинство производителей забивают болт из соображений безопасности.
...
Рейтинг: 0 / 0
07.10.2009, 16:22
    #36237938
New_Frozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
x77,

Сим-карты
...
Рейтинг: 0 / 0
07.10.2009, 16:26
    #36237949
New_Frozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
x77,

этот код вытащить можно поскольку разные программы его показывают (не от производителя Сим-карточек) + проверял для нескольких симок
...
Рейтинг: 0 / 0
07.10.2009, 16:28
    #36237956
x77
x77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
New_Frozen,

могу скинуть свою обёртку для winscard.dll и свою же тулзу для общения со смарт-картами (D7). для банковских карт она работает нормально, для симок - ХЗ, мы их не выпускаем :)

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

з.ы. если нужна тулза - пишите на x77 [at] pisem.net.
...
Рейтинг: 0 / 0
07.10.2009, 16:38
    #36237985
New_Frozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
x77,

спасибо большое! на емеил отправил.
...
Рейтинг: 0 / 0
07.10.2009, 16:55
    #36238022
x77
x77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
New_Frozen,

отправил исходники, успехов ;)
...
Рейтинг: 0 / 0
07.10.2009, 17:44
    #36238168
New_Frozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
x77, вообще странное поведение:
при A0A40000022FE2 - возвращает что файл не найден
единственный ответ получил при
a0f2000016 - получении статуса...
все остальные возвращают или 6F00 или 9404 - файл не найден...

Буду искать дальше.
...
Рейтинг: 0 / 0
07.10.2009, 17:48
    #36238177
x77
x77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
New_Frozen,

на 00A40004022FE2 что говорит?

и на каком протоколе работает карта? у меня жёстко зашит T0, лень было возиться :) симки могут работать и на T1
...
Рейтинг: 0 / 0
07.10.2009, 17:53
    #36238191
x77
x77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
New_Frozen,

а вообще, 6F 00 это:

'6F' File control information (FCI template)
'00' or any value higher then '9F' - The coding of the subsequent string of bytes is proprietary.

о чём я и говорил.
...
Рейтинг: 0 / 0
07.10.2009, 17:58
    #36238202
New_Frozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
x77,

6E00 - это я опечатался

Код: plaintext
на 00A40004022FE2 что говорит?

как раз 6E00 и говорит
...
Рейтинг: 0 / 0
07.10.2009, 17:59
    #36238205
New_Frozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
New_Frozen,

протокол Т=0 используется на них.
...
Рейтинг: 0 / 0
07.10.2009, 18:48
    #36238300
x77
x77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
New_Frozen,

а что, на сторонних тулзах именно эта команда возвращает правильный ICCID? я подозреваю, что сама команда кривая.
...
Рейтинг: 0 / 0
07.10.2009, 18:55
    #36238315
x77
x77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
New_Frozen,

тут один умный моск сказал, что перед выбором файла надо выбрать директорию. ICC ID лежит в 3F00 (MF), следовательно

A0 A4 00 00 02 3F 00
A0 A4 00 00 02 2F E2
A0 B0 00 00 10

дальше ответ вернёт 10 байтов ICCID, т.е. файло 2FE2 из директории 3F00.
...
Рейтинг: 0 / 0
08.10.2009, 11:34
    #36239233
New_Frozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
x77New_Frozen,

тут один умный моск сказал, что перед выбором файла надо выбрать директорию. ICC ID лежит в 3F00 (MF), следовательно

A0 A4 00 00 02 3F 00
A0 A4 00 00 02 2F E2
A0 B0 00 00 10

дальше ответ вернёт 10 байтов ICCID, т.е. файло 2FE2 из директории 3F00.

))))))))))))))))))))))

Зашел на форум, чтобы сказать что после тестирования я заметил, что A0 A4 00 00 02 2F E2 дает ответ только после A0 A4 00 00 02 3F 00

))))))))))))))))))))))

Спасибо за последнюю команду!!!!!!
только надо слегка подправить
A0 B0 00 00 09

Код: plaintext
1.
Operation: a0b0000009; Data:
data: 98   83   00   26   03   00   90   03   06  ; sw1: 90 ; sw2: 0 

только возвращает номер с перемешанными в каждом байте цифрами... хм...
поменять то не очень большая проблема, но это интересно зачем делается
...
Рейтинг: 0 / 0
08.10.2009, 12:00
    #36239327
New_Frozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
- Identification number
Contents: according  to  CCITT Recommendation E. 118  [ 17 ]. However, network operators who are
already issuing Phase  1  SIM cards  with  an identification number length  of   20  digits may retain
this length.
Purpose: card identification number.
Coding: BCD, left justified  and  padded  with  'F'; after padding the digits within a byte are swapped
(see below). However, network operators who are already issuing Phase  1  SIM cards where
the digits within a byte are  not  swapped may retain this configuration.

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

При попытке получить 10-ть выдает ошибку 67 - неправильный параметр P3.
...
Рейтинг: 0 / 0
08.10.2009, 12:43
    #36239477
x77
x77
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
New_Frozen,

1) ну, 10 по-пацански - это 0А ;) это я протупил

2) публиковать ICCID симок не рекомендуется, хотя и считается, что для клонирования эта инфа бесполезна.
...
Рейтинг: 0 / 0
09.10.2009, 16:59
    #36242728
New_Frozen
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
Появился следующий вопрос.

Необходимо сделать прозрачным для пользователя процесс подключения/отключения устройства.

При отключении (физическом - выдернули устройство), если устройство было подключено, я перехватываю сообщение об ошибке и отключаю соединение.

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

Думал как правильнее будет это сделать.

Просто дописать обработку сообщения и добавить событие у компонента об добавлении нового устройства + потом пытаться получить новый список устройств + коннект если появилось.

Или же делать это в каком-то другом месте.
В общем, интересует как это правильно сделать.

Спасибо за любую информацию.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
26.04.2011, 18:19
    #37234487
Шавлюк Евгений
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
Прошу прощения за подъем столь старой темы.
Есть такой ридер
Определяется системой как "Устройства чтения смарт-карт\Smart Card Reader 378"
Пока я нашел враппер для winscard.dll
Тип карты ISO7816A.
Каким образом узнать серийный номер карточки?
Можно получить эту информацию из ATR?
Очень не хочется глубоко вникать в тему, буду благодарен за простой ответ "послать такой-то код, получить номер"
...
Рейтинг: 0 / 0
14.03.2012, 15:03
    #37704899
Алек_сандр
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
Здравствуйте x77 , давно вы писали на форуме...
------------------------------------------------------------
могу скинуть свою обёртку для winscard.dll и свою же тулзу для общения со смарт-картами (D7). для банковских карт она работает нормально, для симок - ХЗ, мы их не выпускаем :)

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

з.ы. если нужна тулза - пишите на x77 [at] pisem.net.
------------------------------------------------------------

Начал с нуля разбираться с картридерами, необходимы хоть какие нибудь примеры работы.
Пишу на D7
Если остались в заначке хоть что нибудь, пришлите пожалуйста на opengl3d@mail.ru.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
23.12.2013, 17:28
    #38510258
diw-volkodav
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить номер Smart-карточки
Поздновато, конечно, но всё таки:
#select EF (elementary file) [SELECT FILE]
Transmit: A0 A4 00 00 02 2F E2
Card answered: 9F 0F

#забираю ответ карты [GET RESPONSE]
Transmit: A0 C0 00 00 0F
Card answered: 90 00
00 00 00 0A 2F E2 04 00 0F F0 44 05 02 00 00

#Читаю файл с ICCID[READ BINARY]
Transmit: A0 B0 00 00 0A
Card answered: 90 00
98 07 01 01 80 25 62 03 16 16

98070101802562031616 - это как раз iccid и есть, но в формате swapped nibble. В "человеческом" виде это 89701010085226306161, т.е. просто перевернуть полубайты.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получить номер Smart-карточки / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]