Как правильно установить соединение с Mifare Ultralight C? - PullRequest
0 голосов
/ 01 февраля 2019

Я пытался запустить протокол 3DES на Mifare Ultralight C. В техническом описании продукта они указывают, что вы должны начать с отправки команды 1A (и я нашел этот пост, на который перенаправляются все, кто спрашивает: Android: проверка подлинности с помощью NXP MiFare Ultralight C ).

Поэтому я попытался сделать что-то похожее в приведенном ниже коде:

nfca.connect();
byte[] authData = new byte[] { 0x1A, 0x00};
encRndB = nfca.transceive(authData);

Но я всегда получаю следующую ошибку приоперация transceive:

W / System.err: android.nfc.TagLostException: тег был потерян.

Я делаю что-то неправильно или я должен сделать это в некоторыхДругой способ?

1 Ответ

0 голосов
/ 06 февраля 2019

Получение TagLostException в ответ на команду может означать две вещи:

  1. Связь с тегом была фактически прервана (из-за разрыва тега) или из-за плохой связи между читателем иtag.
  2. Тег не поддерживает команду и «ответил» пассивным NACK (т.е. он не ответил на генерацию тайм-аута).Теги типа 2 могут указывать на это, если они получают команды, которые они не поддерживают.

Следовательно, второй случай является явным свидетельством того, что тег не поддерживает команду аутентификации MIFARE Ultralight C.Это означает, что этот тег, вероятно, не является тегом MIFARE Ultralight C.Вы можете проверить Различение различных типов MIFARE Ultralight для начальной точки при снятии отпечатков пальцев с фактического типа тега.

...