Получение оригинальной подписи с карты Mifare Ultralight с помощью считывателя AC / S C - PullRequest
0 голосов
/ 30 января 2020

В настоящее время в моем консольном приложении C# я реализовал функцию чтения тегов NF C, отправляя команды APDU с помощью ModWinsCard. Пока что я могу получить список подключенных читателей, подключиться к нему, получить UID тега NF C и прочитать / записать сообщение NDEF в тег NF C.

Прямо сейчас я пытаясь проверить, является ли рассматриваемый тег NF C подлинным тегом, созданным NXP, путем проверки подлинности подписи согласно этому документу: https://www.nxp.com/docs/en/data-sheet/NTAG213_215_216.pdf (раздел 8.9).

Однако, хотя я реализовал проверку подписи, мне еще не удалось получить подпись из тега NF C, поскольку раздел 10.8 (READ_SIG) не имеет эквивалента для команды APDU.

Is есть какая-нибудь команда APDU, которую я могу использовать, чтобы отправить команду READ_SIG в тег NF C и получить подпись оригинальности? Читатель, которым я сейчас пользуюсь - это ACS ACR1281U-C1, если это поможет.

Ответы [ 2 ]

0 голосов
/ 19 марта 2020

Наряду с командой, т. Е. 3 C 00, необходимо передать CR C из 2 байтов.

0 голосов
/ 30 января 2020

Если вы посмотрите раздел 10.8 того же самого, сделайте c, READ_SIG - это просто стандартная команда низкого уровня, такая как READ или WRITE или FAST_READ, вам просто нужно transceive нужный байтовый массив для карты и обработать байтовый массив вернул

Я не делаю c# и ModWinsCard, но на первый взгляд вам нужно SCardTransmit с byte SendBuff байтовым массивом [3C,00] и получить обратно 32-байтовый массив.

Я сделал это в Java на Android легко.

Дополнительная информация, поскольку карты NTAG 21X являются только картами типа 2, они не используют APDU

Из таблицы данных

NTAG213, NTAG215 и NTAG216 (отныне обычно именуемые NTAG21x) предназначены для полного соответствия NF C Тэгу типа 2 форума

Обобщению c NF * Доступно 1038 * документов для карт типа 2 http://apps4android.org/nfc-specifications/

Только карты типа 4 используют команды APDU

Обновление: может ли это помочь? { ссылка }

Кажется, вы можете "пройти через" уровень APDU для отправки собственных команд (в этом случае 0x1B - это команда типа 2, правильная для пароля Auth

...