Android взаимодействует с SIM-картой javacard 2.x
Я начал проект, в котором мне нужно отправлять команды с интерфейсом APDU или интерфейсом OTA, от моего проекта Android до апплета JavaCard, который находится на SIM-карте телефона. У меня есть AID и несколько коммандос, чтобы начать тестировать приложение для Android, но я не знаю, как выбрать апплет на карте, ни как отправить команды на Android.
Из поиска я нашел этот поиск для Android. Но я прочитал, что мне нужно получить Android OS и собрать его с этим API и отправить его на устройство. Разве это не делает мое приложение не способным работать на устройствах без этой "кастомной" ОС Android?
Существует ли какая-либо Android или java-библиотека, которая позволяет мне общаться с апплетом, позволяя моему приложению быть доступным без создания "взломанной" ОС Android? Или я не прав, как работает Seek для Android?
Спасибо за любую возможную помощь. За последние 3 дня я ломал голову над этим.
3 ответа
Обычные приложения AFAIK на Android не могут общаться с SIM-картой. Это факт, и его нельзя обойти при нестандартной сборке Android.
Только системные приложения, такие как SIM-Toolkit-App, могут взаимодействовать с SIM-картой с помощью уровня радиоинтерфейса (RIL). Но этот интерфейс может быть ограничен использованием SIM-Toolkit (не проверял).
Единственной альтернативой является использование "нестандартных смарт-карт", таких как карты, встроенные в SD-карту или внешние карты NFC.
С новым API в Android 5.0 вы можете сделать это. Конечно, вашему приложению нужна особая привилегия. Либо установите ваше приложение как системное приложение, чтобы получить MODIFY_PHONE_STATE
разрешите или установите апплет ARA-M в UICC, как это определено в GlobalPlatform, чтобы получить привилегии оператора
Это возможно с видом взлома. В классе SMS Manager есть частные методы для обновления записей SMS, которые доступны через Java Reflections. Если вы обновите EF SMS OTA в кодировке, SIM-карта будет интерпретировать это так же, как OTA-обновление. Если Апплет на SIM-карте доступен через его TAR через OTA, он также доступен через обновления Android-SMS.