Команда UICC SEND TERMINAL PROFILE возвращает 6E00, когда используется через поиск для Android
Я новичок в SIM-картах...
Я разработал апплет JavaCard и пытаюсь запустить его на UICC. Мой апплет выполняет нетривиальные вычисления, такие как, например, криптография с эллиптическими кривыми, CMAC ... Вот почему его производительность является критически важной.
Я немного поэкспериментировал и обнаружил, что мой апплет работает намного быстрее в обычном считывателе смарт-карт после выбора USIM и отправки профиля терминала (все байты 0xFF). Я признаю, что на самом деле не знаю, почему это происходит...
Затем я попытался запустить свой апплет в смартфоне. Я получаю доступ к своему апплету через API поиска для Android. Я думал, что выбор USIM и отправка профиля терминала выполняется автоматически ОС (Android) после установки SIM-карты. Однако производительность довольно низкая, кажется, что "волшебная процедура" выбора USIM и отправки профиля терминала не была выполнена... Поэтому я попытался отправить свой собственный профиль терминала, как на устройстве чтения смарт-карт, через API-интерфейс поиска для Android. Выбор USIM ответил 0x9000. Затем я получаю ответ 0x6E00 на команду SEND TERMINAL PROFILE, хотя этот APDU правильно работает в обычном устройстве чтения смарт-карт.
Не могли бы вы объяснить мне, что происходит? Где мне искать информацию?
Почему эта процедура (USIM и профиль терминала) улучшает производительность?
Это происходит автоматически ОС на моем смартфоне?
Если нет, могу ли я сделать это как-то программно, чтобы улучшить производительность моего апплета?
Почему я получаю ответ 6E00 на команду SEND TERMINAL PROFILE через поиск для Android?
Большое спасибо!