2015-05-26 3 views
3

У меня есть простой апплет JavaCard, установленный на моей SIM-карте. Я пытаюсь общаться с моим апплетом, используя считыватель Omnikey 5121 CL и NFC-совместимый Sony Xperia L через NFC/SWP (однопроводный протокол).Выбор апплета NFC SWP возвращает 6999

Проблема в том, что я не могу выбрать апплет - в качестве слова состояния я получаю 6999. Светодиод включен, поэтому я полагаю, что между считывателем и SIM-картой имеется некоторая связь. Более того, я не могу выбрать свой домен безопасности.

Однако, когда я помещаю SIM-карту в стандартный считыватель смарт-карт, все работает нормально.

Есть ли какая-либо дополнительная конфигурация ОС Android, SIM-карты, модема NFC и т. Д. Я должен настроить перед тем, как связаться с SIM-картой через NFC? Есть идеи?

Дополнительной информации:

ATR из SIM-карт доступна в контактном способе:

3B9F96C00A3FC6A08031E073FE211F65D001900F3B810FE6 

АТР (генерируется PCSC от АТС) из SIM-карт доступна через NFC в бесконтактном способе:

3B8880010000000000817000F8 

МОЙ УСТАНОВКА ДЛЯ УСТАНОВКИ APDU: (работал, наконец!)

80E6040C32 //CLA INS P1 P2 Lc 
0CF0AAAAAAAAAAAAAAAABBBBBB // AIDs 
09F0AAAAAAAAAAAAAAAA 
09F0AAAAAAAAAAAAAAAA 
01 
00 //privileges 
0B //length of parameters 
EF07 //system parameters 
    A005A5038201FF 
C900 //applet parameters 
00 
+1

Не связано с проверкой PIN-кода? – Abraham

+0

@Abraham Я не знаю много об этом ... Не могли бы вы быть более конкретными? – vojta

+0

На самом деле я не уверен в этом. Но одна из ситуаций, в которых вы получаете 0x6999 вместо 0x9000, - это когда вам нужна проверка PIN-кода, и вы игнорируете ее. Я просто догадался, что, возможно, эта проверка PIN-кода включена на вашей SIM-карте. Когда вы вставляете SIM-карту в устройство для чтения мобильных телефонов (например) при включении шага, вы вводите PIN-код и проверяете его, чтобы вы могли выбрать CM и апплеты , Но когда вы используете вышеприведенного читателя, вы забыли сделать проверку, и поэтому вы не можете выбрать их. Кстати, это просто идея! ;) – Abraham

ответ

3

Получение кода состояния 6999 в ответ на SELECT (по AID) команда является явным свидетельством того, что апплет не был найден/не выбирается. Если апплет был установлен и может быть выбран (с использованием той же AID) через контактный интерфейс карты UICC/SIM, то, скорее всего, он не будет выбран по интерфейсу SWP (без контакта). Обычно защищенные элементы позволяют выборочно включать/отключать апплеты для определенных интерфейсов (в дополнение к этому апплеты могут определять, по какому интерфейсу они выбираются и могут соответственно реагировать).

Апплеты, как правило, должны быть явно выбраны без использования бесконтактного интерфейса, установив параметры бесконтактного протокола в команде INSTALL (для MAKE SELECTABLE) (или позже, выполнив обновление реестра). Дополнительную информацию см. В дополнении C к спецификации глобальной платформы.

КПП. домен безопасности, который не может быть выбран по бесконтактному интерфейсу, не является необычным для SIM-карты. Управление картами обычно ограничивается контактным интерфейсом по соображениям безопасности. (Управление карточками через бесконтактный интерфейс обычно не используется в производственных средах.)