Команда APDU для получения серийного номера смарт-карты
Как я могу получить серийный номер смарт-карты, используя команду APDU? Я попытался запросить его с помощью функции SCardGetAttrib winscard.dll
мне не повезло, мне сказали использовать для этого команду APDU, поскольку нет стандартного способа получения серийного номера. Проблема в том, что я не могу понять, какого типа мои смарт-карты! Поэтому я просмотрел документы нескольких популярных производителей смарт-карт, и мне не повезло найти способ получить серийный номер!!
Мой картридер ACR88.
2 ответа
В приведенных ниже командах A0 может быть 00 или что-то еще (приведенный ниже код работает на SIM-карте):
ВЫБЕРИТЕ MF:
=> A0A40000023F00
<= 9F16
ВЫБРАТЬ EFiccid:
=> A0A40000022FE2
<= 9F0F
ЧИТАТЬ ДВОЙНОЙ:
=> A0B000000A
<= 984310011823020084F99000
Ваш ICCID поменялся местами и имеет длительную проверку (984310011823020084F9 => 8934011081322000489).
Для карт SCOSTA вы можете использовать следующую команду для считывания серийного номера микросхемы под TAG 46, 00CA0046XX или 00CA0246XX "Последний XX зависит от карты, которая зависит от длины, дает 00 и даст ответ" 6CXX ", где вы можете использовать XX для получения правильных данных, это потому, что длина серийного номера варьируется от карты к карте