Я делаю приложение для эмуляции хост-карты на Android, все отлично работает с моим ридером ПК/SC. Я могу отправлять команды APDU и получать ответы. Теперь я хочу знать, можно ли манипулировать ATR карты, эмулируемой Android, с помощью библиотеки Android NFC (или нет)? Я просмотрел документацию, но там ничего нет о ATR, генерирует ли Android его автоматически для каждого устройства?
HCE - Есть ли способ манипулировать ATR?
Ответы (1)
Да, Android автоматически генерирует ответ на выбор (ATS). Android API для изменения его содержимого отсутствует. То же самое относится и к идентификатору предотвращения столкновений (UID).
ATS против ATR
Обратите внимание, что бесконтактные смарт-карты (ISO/IEC 14443-4A) не предоставляют ATR (ответ на сброс) во время последовательности активации. Вместо этого они предоставляют ATS (в ответ на процедуру отбора). Считыватели ПК/SC для бесконтактных смарт-карт обычно отображают части этого ATS в (эмулируемый) ATR для совместимости.
Укорененные устройства
Несмотря на то, что Android не предоставляет API, вы можете изменить такие значения, как ATS, изменив файлы конфигурации контроллера NFC. См. Редактирование функций эмуляции хост-карты в Android и Эмуляция карты на основе хоста с фиксированным идентификатором карты