У меня есть смарт-карта, есть ли способ узнать, что на ней установлено? Вероятно, на нем есть апплет, но я не могу выбрать его с помощью команды APDU.Как проверить, есть ли у смарт-карты апплет на нем
ответ
Вы говорите об апплетах, поэтому я предполагаю в этом ответе, что вы разговариваете с картой Java. Сама карта Java не указывает какой-либо метод обнаружения.
В спецификации глобальной платформы содержатся методы для получения таких данных. Чтобы получить апплеты на карте, вам необходимо отправить APDU GET STATUS
(параграф 11.4 свободно доступных спецификаций GP 2.2.1). Практически во всех реализациях Java Card также реализована глобальная платформа. Обратите внимание, что перед тем, как вы можете выдать эти команды, вам необходимо пройти аутентификацию для менеджера карт глобальной платформы. Для этого, очевидно, вам понадобится действительный набор ключей аутентификации.
Еще один уловка, чтобы узнать, что такое по выбору на апплете, чтобы выдать несколько команд SELECT by NAME
. Вы можете ограничить это набором AID, который вы хотите проверить. Небольшой трюк состоит в том, чтобы использовать только первые 5 байт AID, известные как RID. Зарегистрированные RID начинаются с A000000000
, а затем последовательно увеличиваются.
После того, как вы найдете апплет, вы можете узнать его регулярную AID, добавив байты в специфический для компании RID - просто проверьте все 256 значений. Вы можете автоматизировать это ... многие реализации также возвращают полную AID после выбора; это, однако, специфично для апплета (запрос SELECT by Name генерируется методом апплета process
).
- 1. Как проверить, есть ли у пользователя интернет?
- 2. Как проверить, есть ли у ячейки изображение?
- 3. Как проверить, есть ли у меня транзакция?
- 4. Как проверить, есть ли у 'select' опции?
- 5. Как проверить, есть ли у просмотра дети
- 6. Как проверить, есть ли что-то в нем
- 7. Как проверить, есть ли у меня разрешение на вызов chrome.tabs.captureVisibleTab()?
- 8. MVC 4 с помощью jquery, как проверить, есть ли у объекта свойство элементы в нем
- 9. Opencart проверить, есть ли у продукта варианты
- 10. Нажав на ListView, у которого есть элемент longclick на нем
- 11. Android проверить, есть ли у View тег
- 12. Есть ли у Susy в нем чип clearfix?
- 13. Как проверить, нет ли в нем ничего?
- 14. как проверить, имеет ли введенное письмо «@» на нем
- 15. Как проверить, установлен ли файл win2003 «заблокирован» на нем
- 16. Как проверить, есть ли у всех divs определенный фоновый цвет?
- 17. Как проверить, есть ли у пользователя закладка (iPhone)
- 18. Как проверить, есть ли у URI запроса какие-либо параметры
- 19. Как проверить, есть ли у 2 списка одинаковые коллекции предметов?
- 20. Как проверить, есть ли у пользователя веб-камера или нет?
- 21. Как проверить, есть ли у пользователя данные в определенных таблицах
- 22. как проверить, есть ли у файла цифровая подпись
- 23. Как проверить, есть ли у объекта функция? (Dojo)
- 24. Как проверить, есть ли у меня базовый ящик или UCM?
- 25. Как проверить, есть ли у пользователя учетная запись Google.
- 26. Как проверить, есть ли у ContactsContract фото или нет
- 27. Как проверить, есть ли у пользователя подписка с CanCanCan
- 28. Как проверить, есть ли у модели фотография с Carrierwave?
- 29. Как проверить, имеет ли Cell Integer на нем?
- 30. Я сделал прямоугольник, как проверить, нажата ли на нем мышь?
команда SELECT также имеет режим «следующего входа» (установите «P2» на 2 вместо 0, см. 11.9.2.2). Если я правильно понимаю, это ограничивает ваше пространство поиска. – martijno
@martijno О, да, я забыл о точном синтаксисе, я попытаюсь добавить некоторую информацию об этом после прочтения спецификаций снова ... Спасибо за комментарий! –
Как всегда: поддержка частичного выбора имени DF является необязательной (относительно 7816-4), но по крайней мере может быть указана в возможностях карты в ATR. – guidot