2013-11-28 2 views
0

누구든지이 암호화 방법으로이 카드를 인증 할 수 있습니까? 나는 앱을 선택하고 인증을 시작한 후에 무엇을해야할지 전혀 모른다. 아래는 제 코드입니다. 단지는 관련 부분을 복사하여 예를 들어 키를 사용 Mifare DESfire EV1 4k AES 인증

//AUTHENTICATION COMMANDS 

    private static final byte[] NATIVE_AUTHENTICATION_KEY = new byte[] { 
      (byte) 0x01, (byte) 0x02, (byte) 0x01, (byte) 0x04, (byte) 0x05, 
      (byte) 0x06, (byte) 0x07, (byte) 0x08, (byte) 0x09, (byte) 0x0A, 
      (byte) 0x0B, (byte) 0x0C, (byte) 0x0D, (byte) 0x0E, (byte) 0x0F, 
      (byte) 0x00 }; 

    private static final byte[] START_AUTHENTICATION_COMMAND = new byte[] { 
      (byte) 0xAA, (byte) 0x01 }; 


    private static byte[] SELECT_APPLICATION = { (byte) 0x5A, (byte) 0x01, 
      (byte) 0x02, (byte) 0x03 }; 

//AUTHENTICATION FUNCTION 

     private void StartAuthentication(Tag tag) { 
      try { 
       IsoDep.get(tag).connect(); 
       byte[] response = IsoDep.get(tag) 
         .transceive(SELECT_APPLICATION); 

       Log.e("SELECT_APP", ByteArrayToHexString(response)); 

       byte[] response2 = IsoDep.get(tag).transceive(START_AUTHENTICATION_COMMAND); 

       Log.e("START_AUTH", ByteArrayToHexString(response2)); 

       } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
       } 

       } 

SELECT_APP 반환 × 00 SELECT_APP

(OK) 및 START_AUTH는 0xAF + (16 비트)를 반환합니다. 그것을 얻은 후에 무엇을해야합니까?

+0

가능한 중복 (http://stackoverflow.com/questions/20266180/mifare-desfire-ev1-authentication) –

+0

두 가지가 여기 읽을 수 있습니다 인증 방법 : 에 http : // stackoverflow.com/questions/26495399/desfire-ev1-internal-authenticate-only – user3876412

답변

1

답변이 0xAF 인 경우 추가 정보가 보류 중임을 의미합니다. 0x00을 다시 얻을 때까지 0xAF을 보내면 0xAF은 보류중인 더 많은 데이터가 보류 중임을 의미합니다. [MIFARE Desfire EV1 인증]의

관련 문제