2014-10-16 4 views
0

Мое агентство только что получило свою первую прототипную карту desfire, которая, как ожидается, войдет в производство (агентство сотрудников 50K). Я пытаюсь подключиться к, аутентифицировать и прочитать определенный файл. Поэтому, когда я представляю свое устройство для Android, onDESFIRECardDetected увольняется. Я подключаюсь к тегу (объект desfire), аутентифицирую, передавая мастер и ключ приложения моего агентства и предоставляя appId. Мой следующий шаг - попытаться прочитать конкретный файл в приложении. Я не вижу никакого метода, который бы принимал fileId ??? Я вижу команду «Read (int iNoOfBytes)», которую javadoc заявляет: «iNoOfBytes - количество байтов для чтения», но откуда? Однако, когда я запускаю свое приложение и помещаю произвольное значение для параметра (например, 1), генерируется исключение: «Файл не найден».Плата Desfire EV1 с использованием NXP SDK

В основном, как я могу прочитать определенный FileID в приложении для карты Desfire с помощью SDK ???

ответ

0

Итак, после консультаций с nxp за последние пару дней выясняется, что это ограничение с LITE-версией. Мне сказали, что эта возможность будет доступна в расширенной версии, но на этом посту она недоступна.

+0

Привет, я пытаюсь исследовать в той же области, я не уверен, изменился ли их SDK, но знаете ли вы, можно ли написать в защищенную зону Desfire 3DES? И читал от него ?? – John

0

Да, вы правы. Только ограниченная поддержка DESFire обеспечивается версией lite. Большая часть функций, предоставляемых DESFire, не включена в облегченную версию, особенно связанную с безопасностью работу. Это может быть сделано с помощью API в пожилом SDK:

byte[] readData(int fileNo, 
      int offset, 
      int length, 
      DESFireEV1.CommunicationType comSettings); 

Или, вы должны прочитать функциональную спецификацию MF3ICD81 и делать все, что с нуля.