Как считать данные водительских прав с помощью NFC на Android?Android

Форум для тех, кто программирует под Android
Anonymous
Как считать данные водительских прав с помощью NFC на Android?

Сообщение Anonymous »

Я работаю над приложением для Android, которому необходимо считывать данные из водительских прав с поддержкой NFC (eDL). В лицензии хранятся персональные данные и биометрическая информация, а для взаимодействия с меткой NFC я использую API IsoDep. Однако я сталкиваюсь с проблемами при попытке выбрать нужные файлы и прочитать данные.
Вот шаги, которые я выполнил до сих пор:
  • Открытие NFC-соединения:

Код: Выделить всё

    val isoDep = IsoDep.get(tag)
isoDep.connect()
  • Выбор правильного AID для апплета: я попытался выбрать апплет, используя:
    < /ол>

    Код: Выделить всё

        val selectAppletCommand = CommandAPDU(0x00, 0xA4, 0x04, 0x00, appletAID)
    val response = isoDep.transceive(selectAppletCommand)
    
  • Выполнение BAC (базовый контроль доступа):
после выбора апплета я выполняю аутентификацию BAC с использованием протокола BACProtocol. Однако при попытке доступа к таким файлам, как EF_COM_LICENSE, я вижу такие ошибки, как 0x6985: УСЛОВИЯ НЕ УДОВЛЕТВОРЕНЫ.
  • Чтение данных из лицензии :
После успешного выполнения BAC я пытаюсь прочитать данные из файлов, таких как EF_DG1_LICENSE, но получаю ошибку 0x6A82: ФАЙЛ НЕ НАЙДЕН.
Мои вопросы:
  • Каковы правильные идентификаторы AID и файлов (EF/DG) для доступа
    к данным на водительские права?
  • Как мне следует обрабатывать выбор файлов и безопасный обмен сообщениями для
    eDL (электронных водительских прав) в Android с помощью NFC?
    < li>Существует ли какая-либо документация или рекомендации по считыванию
    водительских прав с поддержкой NFC на Android?
Я использую класс CardService для управления связью, и я знаю о стандарте ISO/IEC 7816 и ICAO 9303 для МСПД, но не уверен в точном формате водительских удостоверений.
Заранее спасибо за ваша помощь!

Подробнее здесь: https://stackoverflow.com/questions/791 ... on-android

Вернуться в «Android»