Метод процесса не получает полную команду APDU от хоста?
385 просмотра
2 ответа
Хост отправляет следующую команду апплету, чтобы выбрать файл EF
00 A4 02 00 02 40 01
Цель состоит в том, чтобы выбрать файл EF с идентификатором 40 01
(который указывается в поле данных команды).
Но когда я отлаживаю метод процесса (APDU apdu), буфер APDU содержит только 5 первых байтов 00 A4 02 00 02
. Поле данных установлено на 00 00
. Поэтому мой апплет не может выбрать EF, используя EF ID.
Не могли бы вы сказать мне, что не так с моей командой APDU выше?
Автор: neo Источник Размещён: 12.11.2019 09:53Ответы (2)
6 плюса
В зависимости от карты (или эмулятора) буфер APDU может содержать только поля заголовка APDU (CLA, INS, P1, P2, Lc). Даже если некоторые карты автоматически заполняют часть данных командного APDU в буфере APDU, вы не можете полагаться на это поведение.
Вместо этого вы должны явно setIncomingAndReceive()
указать плате (или эмулятору), чтобы получить часть данных, вызвав метод объекта APDU. Но обратите внимание, что этот метод должен вызываться только для APDU случая 3 и случая 4 (т. Е. Команды APDU, которые содержат часть данных команды). Если нет поля данных команды, вы не должны вызывать этот метод (APDU для случая 1 и случая 2).
0 плюса
Чтобы получить данные в буфере APDU, вам нужно вызвать apdu.setIncomingAndReceive()
и, как в спецификации EMV AID для апплета составляет 5-16 байт, он не может использовать менее 5 байт.
Вопросы из категории :
- smartcard Как предоставить ПИН-код для доступа к смарт-карте программным способом?
- smartcard Доступ к считывателю смарт-карт из веб-браузера?
- smartcard Проверка подлинности смарт-карты сайта PKSC # 11 и сертификаты клиента SSL
- smartcard Java-апплет для подписи (с помощью токена / смарт-карты) и загрузки документов в сервлет
- smartcard Сборка Android-источника
- smartcard acr122U NFC Tag reading
- javacard Создать PrivateKey из байтового массива
- javacard Математическая библиотека для JavaCard?
- javacard ПРОСТО-TLV против BER-TLV
- javacard Определение пакета, модуля, апплета в Java Card
- javacard 0x6f00 приведение к ошибке Javacard Shareable Interface
- javacard Загрузить файл .cap на смарт-карту?
- apdu Разработка считывателя смарт-карт в Android
- apdu Получение 6A82 при отправке команды SELECT PPSE
- apdu APDU для получения UID от MIFARE DESFire?
- apdu ADPU Сервис в iOS