Android HCE: Gibt es Regeln für AID?

Ich versuche, mit einem ACR122-NFC-Leser eine in einem Nexus 5 emulierte Anwendung mithilfe der Android-Hostkartenemulation auszuwählen. Kleine AIDs werden jedoch nicht erkannt.

Mein Ziel ist es, eine drei Byte lange AID zu verwenden, wie ich es bei einer DESfire-Karte tue. Mein erstes Ziel ist es, nur einen SELECT-Befehl ausführen zu können.

Meine Test-App verwendet die folgende Konfiguration für AIDs:

<host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android"
android:description="@string/service_descr"
android:requireDeviceUnlock="false" >

    <aid-group
        android:category="other"
        android:description="@string/aid_descr" >
            <aid-filter android:name="A0A1A2" />
            <aid-filter android:name="B0B1B2B3" />
            <aid-filter android:name="C0C1C2C3C4" />
            <aid-filter android:name="D0D1D2D3D4D5" />
            <aid-filter android:name="E0E1E2E3E4E5E6" />
    </aid-group>

</host-apdu-service>

Wenn ich die folgenden APDUs ausführe:

00 a4 04 00 03 a0 a1 a2 00
00 a4 04 00 04 b0 b1 b2 b3 00
00 a4 04 00 05 c0 c1 c2 c3 c4 00
00 a4 04 00 06 d0 d1 d2 d3 d4 d5 00
00 a4 04 00 07 e0 e1 e2 e3 e4 e5 e6 00

Ich erhalte immer die folgenden Antworten:

=> 00 a4 04 00 03 a0 a1 a2 00 
<= 6f 00 
=> 00 a4 04 00 04 b0 b1 b2 b3 00 
<= 6a 82 
=> 00 a4 04 00 05 c0 c1 c2 c3 c4 00 
<= 90 00 
=> 00 a4 04 00 06 d0 d1 d2 d3 d4 d5 00 
<= 90 00 
=> 00 a4 04 00 07 e0 e1 e2 e3 e4 e5 e6 00 
<= 90 00 

So funktionieren nur AIDs mit einer Länge von mehr als 5 Bytes mit Android? Oder mache ich etwas wirklich falsch?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage