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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

и на каком протоколе работает карта? у меня жёстко зашит T0, лень было возиться :) симки могут работать и на T1
...
Рейтинг: 0 / 0
Получить номер Smart-карточки
    #36238191
x77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Получить номер Smart-карточки
    #36238202
New_Frozen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x77,

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

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

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

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

а что, на сторонних тулзах именно эта команда возвращает правильный ICCID? я подозреваю, что сама команда кривая.
...
Рейтинг: 0 / 0
Получить номер Smart-карточки
    #36238315
x77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Получить номер Smart-карточки
    #36239233
New_Frozen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
Получить номер Smart-карточки
    #36239327
New_Frozen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: 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
Получить номер Smart-карточки
    #36239477
x77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
New_Frozen,

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

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

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

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

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

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

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

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

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

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

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

Начал с нуля разбираться с картридерами, необходимы хоть какие нибудь примеры работы.
Пишу на D7
Если остались в заначке хоть что нибудь, пришлите пожалуйста на opengl3d@mail.ru.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Получить номер Smart-карточки
    #38510258
diw-volkodav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поздновато, конечно, но всё таки:
#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
25 сообщений из 26, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получить номер Smart-карточки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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