2012-03-12 2 views
5

Mifare Ultralight C (ISO/IEC 14443-2 및 14443-3 유형 A 호환) 태그를 인증하려고합니다.Mifare Ultralight C 인증 (2.3.6)

Android에서 제공되는 MifareUltralight.transceive() 함수로 인증 명령을 보냅니다. 또한 NfcA.transceive() (IsoDep는 ISO/IEC 14443-4 태그를 처리하기위한 것이므로 IsoDep은이 종류의 태그와 호환되지 않는 것 같습니다. 그래서 IsoDep.transceive()를 사용하지 않는 이유입니다).

그래서 인증 요청 명령을 보낼 때 태그는 AFxxxx ...로 태그 응답을 처리 한 다음 해당 응답에 대한 응답과 함께 다른 송수신()을 보냅니다. .. transmitactive() 태그를 보내기 직전에 태그가 연결될 때 "태그가 손실되었습니다"라는 경고와 "송수신 실패"가 표시됩니다.

또한 NfcA로 시도하면 동일한 문제가 발생합니다.

마지막으로, 첫 번째 응답 후에 하나의 인증 명령을 보내려고하면 "태그가 손실되었습니다"라는 경고가 표시되고 송수신이 실패합니다.

그래서 제 질문은 :

내가 두 번째 무전기를 보낼 때 왜 NFC 태그가 길을 잃지 않는

()?

< <

난에서 다른 스레드에있는 모든 물건을 만든 (단지 두 번째 무전기() 연결이 태그로 열려을 보내기 전에 때문에이 시간 초과 문제가 될 것 같지 않습니다) UI 하나.

미리 감사드립니다.

+0

제 생각에는 응답 (두 번째 송신)이 제대로 인증되지 않고 태그가 응답하지 않으므로 태그가 분실 된 것처럼 휴대 전화를 찾는 것입니다. 여러 번 쓰기 (4 바이트 쓰기)를 시도해보고 작동하는지 확인하십시오. transcieve (0xA2, 0x06, 0x01, 0x02, 0x03, 0x04) 여기서 0x06은 페이지 번호입니다. 그것이 작동한다면 인증 시도는 잘못된 것입니다. –

+0

먼저, 답장을 보내 주셔서 감사합니다 :). 그것을 읽은 후에 나는 당신이 옳을 수도 있고 그 문제가 인증에 대한 나의 대답이 틀린 것일 수 있다고 생각합니다. 그래서 이것이 맞는다면 제가 제안한 것을 시도해 볼 것입니다. 그러나, 좋은 견해 인 것으로 보인다. 다시 한번 감사드립니다. ;) 여러 번 글을 쓰면 곧 구현해 드리겠습니다. – Miguel

+0

예, 여러 글을 작성한 후에 작동하므로 내 인증 요청에 문제가있는 것 같습니다. 도움을 주셔서 감사합니다. 문제 해결 방법을 확인하겠습니다. 도움 주셔서 감사합니다. :) – Miguel

답변

3

귀하의 접근 방식이 올바른 것 같습니다. 그러나 태그의 동작은 태그 응답에 대한 사용자의 응답이 잘못되었음을 나타냅니다. 이 경우 태그는 응답하지 않습니다. 휴대 전화의 관점에서 이것은 사라진 태그와 구별 할 수 없으므로 TagLostException이됩니다.

+0

네, 네가 맞을지도 모르겠다. 나는 벤이 제안한 연속 된 글을 쓰려고 노력할 것이고, 우리는 나의 실수의 진실을 알게 될 것이다. 귀하의 회신 NFC 사람 주셔서 감사합니다! – Miguel

+0

이유가 있습니다. 인증 절차를 점검하여 잘못된 것을 찾습니다. 감사합니다. – Miguel

+0

나는 내 인증 알고리즘을 검토 중이었고 틀릴 수있는 전제를 발견했습니다. 나는 모든 "0h"기본 인증 키로 사용합니다. 그것이 문제일까요? - 미리 감사드립니다! – Miguel

관련 문제