У меня есть устройство чтения карт Samrt ACR38 и несколько Javacard [2.1.1], совместимых с GP Spec [02].
Насколько мне известно, существует два типа APDU: Short-APDU [APDU с LC
или / и LE
короче, чем 255
] и Extended-APDU [APDU с LC
или / и LE
больше 255
].
это правильно?
Мы отправляем Short-APDU в T=0
протоколе и отправляем Extended-APDU в T=1
протоколе.
это правильно?
Я успешно отправил Short-APDU на свою карту. [через GPJ, GPShell, OpenSC-Tool].
А теперь я хочу знать:
1: если я хочу использовать расширенный APDU, моя карта должна его поддерживать? или мой Читатель должен это поддерживать? или оба!? или все карты и все считыватели поддерживают как Short-APDU, так и Extended-APDU?
2: если они должны поддерживать EXTENDED-APDU, как я могу проверить, соответствуют ли они требованиям?
3: Нужен ли мне другой инструмент или я могу использовать тот же инструмент GPJ, GPShell и Opensc для отправки Extended-APDU? как?
Обновление: я нашел данные ниже здесь, но я буду благодарен, если кто-нибудь предоставит мне более подробные данные:
Чтобы иметь возможность использовать расширенный APDU, вам необходимо иметь:
- A T = 1 карта
- Устройство чтения смарт-карт, работающее в TPDU или Extended APDU
Считыватель смарт-карт может работать с 4 различными уровнями обмена:
- Характер
- TPDU
- Короткий APDU
- Короткий и расширенный APDU
Уровень персонажа. Лишь очень немногие читатели работают с этим методом. Я не знаю, поддерживают ли они расширенный APDU.
Уровень TPDU: на этом уровне обмена большая часть работы выполняется в драйвере. В частности, поддержка расширенного APDU управляется драйвером, а драйвер CCID реализует это.
Короткий APDU: эти считыватели просты в использовании с точки зрения драйвера, но тогда они ограничиваются только короткими APDU. В этом случае поддержка расширенного APDU невозможна.
Некоторые читатели утверждают, что они поддерживают только короткие APDU, но могут использовать расширенный APDU при использовании с драйвером Windows производителя. Может драйвер Windows переключает ридер в режим TPDU или что-то подобное. Это не задокументированная функция CCID, поэтому она не используется в моем драйвере CCID. Если вы можете получить информацию об этом от производителя считывателя, я могу включить поддержку расширенного APDU для считывателя в свой драйвер.
Короткий и расширенный APDU: Читатель предлагает поддержку расширенного APDU.
Я думаю, что на основе приведенного выше раздела обновлений я прихожу к выводу, что карта и устройство чтения должны поддерживать EXTENDED-APDU. И для проверки их совместимости с расширенным APDU я должен искать документы продукта, а также сайты, которые предоставляют нам список считыватели, поддерживающие расширенный APDU. это правильно?