2014-12-18 3 views
1

Я пытаюсь извлечь ATR с смарт-карты, используя новое пространство имен Windows.Devices.SmartCards в Windows Phone 8.1 (я использую Silverlight).Понимание метода SmartCard GetAnswerToResetAsync

Я вызываю метод GetAnswerToResetAsync, и это отвечает COM-объектом, который преобразуется в массив из 14 байтов (в моем случае). Наши разработчики, использующие Android, используют что-то, называемое GetHistoricalBytes, и это дает ATR из 20 didgits.

Имеет ли кто-либо еще опыт с этим методом, и кто-нибудь знает, какую информацию мы должны ожидать от него. Я также ожидал, что полезная нагрузка будет намного больше, поэтому, возможно, информация, которую я ищу, не входит в этот призыв. Я посмотрел на GetIdAsync, но это ответ на карту не поддерживает эту функцию.

ответ

0

Android + getHistoricalBytes() предлагает использовать бесконтактную смарт-карту (ISO/IEC 14443 Type A). На бесконтактном интерфейсе смарт-карта не имеет ATR (так как нет процедуры сброса, например, на контактном интерфейсе). Вместо этого карта имеет ATS (ответ на выбор), поскольку считыватель выбирает карту в последовательности предотвращения столкновения. ATS и ATR имеют структурное сходство, но не передают такую ​​же информацию.

Что вы получаете, как ATR на Windows, зависит от того, как получить доступ к карте:

  • Если доступ к карте через контактный интерфейс, вы получите реальную ATR карты. В зависимости от карты вы можете запросить ту же информацию через бесконтактный интерфейс, читая элементарный файл EF.ATR.

  • Если вы получаете доступ к карте через бесконтактный интерфейс, вы, скорее всего, получите эмулированный ATR, созданный слоем PC/SC. Для бесконтактной смарт-карты ISO/IEC 14443-4 типа A эмулируемый ATR должен содержать исторические байты от ATS, начиная с байта 4. (Вы можете найти описание отображения в части 3 спецификации ПК/SC)

+0

Да, он бесконтактный. Спасибо за информацию, я надеюсь вернуться к ней в ближайшее время и сообщит любую информацию обратно, когда это будет сделано. –

Смежные вопросы