In diesem Abschnitt werden die allgemeinen APDU-Befehlssatzanforderungen für nicht ISO14443-4 kompatible Karten (als Speicherkarten bezeichnet) beschrieben.
General-Authenticate command
Der Befehl General-Authenticate wird verwendet, um die Authentifizierungssequenz auf einer MIFARE-Karte auszuführen. Dieser Befehl gilt nur für MIFARE Mini-, Classic 1k- und 4k-Karten.
| Command |
Class |
INS |
P1 |
P2 |
Lc |
Data In |
| General-Authenticate |
0xFF |
0x86 |
0x00 |
0x00 |
0x01 |
Adresse MSB, Adress-LSB, Schlüsseltyp A oder B, Schlüsselnummer |
Get-Data command
Der befehl Get-Data wird verwendet, um Informationen aus dem kontaktlosen NFC-Tag/der Karte abzurufen.
| Command |
Class |
INS |
P1 |
P2 |
L2 |
| Get-Data |
0xFF |
0xCA |
0x00: Seriennummer der Karte (ISO14443-A: UID, ISO14443-B: PUPI, Felica: IDm, Juwel: RID)
0x01: Historische Bytes der Karte (Typ A: Historische Bytes von ATR, Typ B: ATTRIB Antwort) |
0x00 |
0x00 |
| Response |
| Datenausgang, SW1, SW2 |
Load-Key command
Der Befehl Load-Key wird verwendet, um MIFARE-Schlüssel im Treiber zu speichern. Dieser Befehl gilt nur für MIFARE Mini-, Classic 1k- und 4k-Karten.
| Command |
Class |
INS |
P1 |
P2 |
Lc |
Data In |
| Load-Key |
0xFF |
0x82 |
Key Structure |
Key Number |
0x6 |
Key Value |
Befehl 'Sitzung verwalten'
Die Implementierung dieses Befehls sollte gemäß der PCSC-Spezifikation erfolgen.
| Command |
Class |
INS |
P1 |
P2 |
Lc |
Data In |
| General Authenticate |
0xFF |
0xC2 |
0x00 |
0x00 |
Variable |
TLV Data-Objekt |
Im Folgenden sind TLV-Datenobjekte erforderlich, die vom Treiber unterstützt werden:
| Tag |
Data Object |
| 0x80 |
Versionsdatenobjekt |
| 0x81 |
Transparente Sitzung starten |
| 0x82 |
Transparente Sitzung beenden |
Read-Binary command
Der Befehl Read-Binary dient zum Lesen von Daten aus dem kontaktlosen NFC-Tag/der Karte. Der Befehl gilt nur für Speicherkarten (MIFARE Classic/UL, Felica, ISO15693 und Jewel/Topaz-Karten).
| Command |
Class |
INS |
P1 |
P2 |
Lc |
Data In |
Li |
| Read-Binary |
0xFF |
0xB0 |
Address MSB |
Address LSB |
Länge der Daten in |
Data |
Length expected |
Read-Binary MIFARE-Familie
| Command |
CLA |
INS |
P1 |
P2 |
Le |
| UL READ 16 |
0xFF |
0xB0 |
0x00 |
0x00 zu 0x15 |
0x10 |
| CL 1k READ 16 |
0xFF |
0xB0 |
0x00 |
0x00 0x3F |
0x10 |
| CL 4k LESEN 16 |
0xFF |
0xB0 |
0x00 |
0x00 zum 0xFF |
0x10 |
Read-Binary Juwelenfamilie
| Command |
CLA |
INS |
P1 |
P2 |
Le |
| READ ALL |
0xFF |
0xB0 |
0x00 |
0x00 |
0x00 |
| RID |
0xFF |
0xB0 |
0x00 |
0x00 |
0x06 |
| READ |
0xFF |
0xB0 |
Block No |
Block Offset |
0x01 |
| READ 8 |
0xFF |
0xB0 |
Block No |
0x00 |
0x08 |
| READ SEG |
0xFF |
0xB0 |
0x00 |
Segment Addr |
0x80 |
Read-Binary Familie Felica
| Command |
CLA |
INS |
P1 |
P2 |
Lc |
Data In |
| CHECK |
0xFF |
0xB0 |
0x00 |
0x00 |
Länge der Daten in |
Anzahl des Diensts, Anzahl der Blöcke, Liste blockieren |
ISO 15693-Familie
| Command |
CLA |
INS |
P1 |
P2 |
Le |
| READ |
0xFF |
0xB0 |
Block Number |
0x00 |
0x04 |
ISO 15693 family Response
| Response |
| Datenausgang, SW1, SW2 |
Transparenter Austauschbefehl
| Command |
Class |
INS |
P1 |
P2 |
Lc |
Data In |
| General Authenticate |
0xFF |
0xC2 |
0x00 |
0x01 |
Variable |
TLV Data-Objekt |
Im Folgenden sind die erforderlichen TLV-Datenobjekte für transparenten Exchange-Befehl aufgeführt, die vom Treiber für den transparenten Austausch von Befehlen in Speicherkarten unterstützt werden:
| Tag |
Data Object |
| 0x95 |
Transceive - Übertragung und Empfang |
| 0x5F46 |
Timer |
Update-Binary command
Der Befehl Update-Binary wird verwendet, um Daten in das kontaktlose NFC-Tag/die kontaktlose NFC-Karte zu schreiben. Der Befehl gilt nur für Speicherkarten (MIFARE Classic/UL, Felica, ISO15693 und Jewel/Topaz-Karten). Das Format der Anforderung und Antwort für den Befehl ist wie unten beschrieben.
| Command |
Class |
INS |
P1 |
P2 |
Lc |
Data In |
| Update-Binary |
0xFF |
0xD6 |
Address MSB |
Address LSB |
Länge der Daten in |
Data |
Update-Binary MIFARE-Familie
| Command |
CLA |
INS |
P1 |
P2 |
Le |
| UL WRITE 4 |
0xFF |
0xD6 |
0x00 |
0x00 zu 0x15 |
0x04 |
| CL 1k WRITE 16 |
0xFF |
0xD6 |
0x00 |
0x00 0x3F |
0x10 |
| CL 4k WRITE 16 |
0xFF |
0xB0 |
0x00 |
0x00 zum 0xFF |
0x10 |
Update-Binary Juwelenfamilie
| Command |
CLA |
INS |
P1 |
P2 |
Le |
| WRITE1-E |
0xFF |
0xD6 |
Block Number |
Block Offset |
0x01 |
| WRITE8-E |
0xFF |
0xD6 |
Block Number |
0x00 |
0x08 |
Update-Binary Familie Felica
| Command |
CLA |
INS |
P1 |
P2 |
Le |
Data In |
| UPDATE |
0xFF |
0xD6 |
0x00 |
0x00 |
Länge der Daten in |
Anzahl des Diensts, Anzahl der Blöcke, Liste blockieren |
| Command |
CLA |
INS |
P1 |
P2 |
Le |
| WRITE |
0xFF |
0xD6 |
Block Number |
0x00 |
0x04 |