2017-01-31 25 views
1

В настоящее время я делаю проект, где я хочу использовать свой телефон с Windows 10 с NFC, чтобы прочитать UID/серийный номер смарт-карты, чтобы найти идентификатор персона. Картой, которую я пытаюсь получить UID/серийный номер, является NXP MIFARE DESFire EV1. Идентификатор, который я ищу, напечатан на карточке, и мне удалось получить доступ к нему, используя телефон моего друга с Android-приложением, что означает, что номер доступен, хотя я не знаю, как это сделать.Получение UID/серийный номер карты NXP MIFARE DESFire EV1

Я могу отправить команды APDU на карту, но я не знаю, какой из них использовать для получения UID/серийного номера, который я ищу.

Какие команды APDU мне нужно отправить на карту, чтобы получить идентификатор? Идентификатор, который я ищу, составляет 7 байтов.

+0

Извините, чтение не-смарт-карт сильно зависит от услуг переводчика, и вы не упомянули об этом. Вы можете найти отправную точку в [этом вопросе] (http://stackoverflow.com/q/12174000/1435475). – guidot

ответ

1

В целом, получение таких параметров, как идентификатор противодействия столкновениям (UID) бесконтактных карт, очень сильно зависит от читателя и слоев абстракции между читателем и вашим приложением. Например, на Android существует простой способ getId(), чтобы получить идентификатор анти-столкновения тега NFC/бесконтактной смарт-карты.

Однако для MIFARE DESFire существует также способ получить этот параметр с помощью APDU. Вы можете просто отправить команду GET VERSION запросить информацию о версии (а также UID карты):

 
C-APDU: 90 60 0000 00 
R-APDU: 04 01 YY 01 00 ZZ 05 91AF 

C-APDU: 90 AF 0000 00 
R-APDU: 04 01 01 01 04 ZZ 05 91AF 

C-APDU: 90 AF 0000 00 
R-APDU: XXXXXXXXXXXXXX UUUUUUUUUU VV WW 9100 

Значение XXXXXXXXXXXXXX является UID карты (или все нули, если карта в случайном идентификатору антиколлизионного Режим).

Обратите внимание, что даже существует синтаксический анализатор информации о версии MIFARE DESFire here (как указано в примечании ThomasRS).

+1

Работает отлично. Большое вам спасибо за ваше драгоценное время. Вы не представляете, насколько мне полезно помочь другим. Я никогда не забуду вас – ZakFS

+2

Парсер на https://github.com/skjolber/external-nfc-api/blob/master/externalNFCClient/src/main/java/com/skjolberg/nfc/desfire/VersionInfo.java – ThomasRS