In diesem Abschnitt werden die allgemeinen APDU-Befehlssatzanforderungen für nicht ISO14443-4-kompatible Karten (auch bekannt als Speicherkarten) beschrieben.
befehl General-Authenticate
Der Befehl General-Authenticate wird verwendet, um die Authentifizierungssequenz für eine MIFARE-Karte auszuführen. Dieser Befehl gilt nur für MIFARE Mini-, Klassische 1K- und 4K-Karten.
Get-Help |
Klasse |
EINFG |
P1 |
P2 |
Lc |
Eingehende Daten |
General-Authenticate |
0xFF |
0x86 |
0x00 |
0x00 |
0x01 |
Adresse MSB, Adresse LSB, Schlüsseltyp A oder B, Schlüsselnummer |
befehl Get-Data
Der Befehl Get-Data wird verwendet, um Informationen aus dem kontaktlosen NFC-Tag/-Karte abzurufen.
Get-Help |
Klasse |
EINFG |
P1 |
P2 |
L2 |
Get-Data |
0xFF |
0xCA |
0x00: Seriennummer der Karte (ISO14443-A: UID, ISO14443-B: PUPI, Felica: IDm, Jewel: RID)
0x01: Historische Bytes der Karte (Typ A: Historische Bytes aus ATR, Typ B: ATTRIB-Antwort) |
0x00 |
0x00 |
Antwort |
Datenaus, SW1, SW2 |
befehl Load-Key
Der Befehl Load-Key wird verwendet, um MIFARE-Schlüssel im Treiber zu speichern. Dieser Befehl gilt nur für MIFARE Mini-, Klassische 1K- und 4K-Karten.
Get-Help |
Klasse |
EINFG |
P1 |
P2 |
Lc |
Eingehende Daten |
Load-Key |
0xFF |
0x82 |
Schlüsselstruktur |
Schlüsselnummer |
0x6 |
Schlüsselwert |
Befehl "Sitzung verwalten"
Die Implementierung dieses Befehls sollte der PCSC-Spezifikation entsprechen.
Get-Help |
Klasse |
EINFG |
P1 |
P2 |
Lc |
Eingehende Daten |
Allgemeine Authentifizierung |
0xFF |
0xC2 |
0x00 |
0x00 |
Variable |
TLV-Datenobjekt |
Die folgenden TLV-Datenobjekte müssen vom Treiber unterstützt werden:
Tag |
Datenobjekt |
0x80 |
Versionsdatenobjekt |
0x81 |
Starten einer transparenten Sitzung |
0x82 |
Beenden der transparenten Sitzung |
befehl Read-Binary
Der Befehl Read-Binary wird verwendet, um Daten aus dem kontaktlosen NFC-Tag/-Karte zu lesen. Der Befehl gilt nur für Speicherkarten (MIFARE Classic/UL, Felica, ISO15693 und Jewel/Topaz Karten).
Get-Help |
Klasse |
EINFG |
P1 |
P2 |
Lc |
Eingehende Daten |
Li |
Read-Binary |
0xFF |
0xB0 |
Adresse MSB |
Adresse LSB |
Länge der Daten in |
Daten |
Erwartete Länge |
Read-Binary MIFARE-Familie
Get-Help |
CLA |
EINFG |
P1 |
P2 |
Le |
UL READ 16 |
0xFF |
0xB0 |
0x00 |
0x00 zu 0x15 |
0x10 |
CL 1K READ 16 |
0xFF |
0xB0 |
0x00 |
0x00 zu 0x3F |
0x10 |
CL 4K READ 16 |
0xFF |
0xB0 |
0x00 |
0x00 zu 0xFF |
0x10 |
Read-Binary Juwelenfamilie
Get-Help |
CLA |
EINFG |
P1 |
P2 |
Le |
ALLE LESEN |
0xFF |
0xB0 |
0x00 |
0x00 |
0x00 |
RID |
0xFF |
0xB0 |
0x00 |
0x00 |
0x06 |
READ |
0xFF |
0xB0 |
Block Nein |
Blockoffset |
0x01 |
READ 8 |
0xFF |
0xB0 |
Block Nein |
0x00 |
0x08 |
LESEN VON SEG |
0xFF |
0xB0 |
0x00 |
Segment-Addr |
0x80 |
Read-Binary Familie Felica
Get-Help |
CLA |
EINFG |
P1 |
P2 |
Lc |
Eingehende Daten |
CHECK |
0xFF |
0xB0 |
0x00 |
0x00 |
Länge der Daten in |
Anzahl des Diensts, Anzahl der Blöcke, Blockliste |
ISO 15693-Familie
Get-Help |
CLA |
EINFG |
P1 |
P2 |
Le |
READ |
0xFF |
0xB0 |
Blocknummer |
0x00 |
0x04 |
Antwort der ISO 15693-Familie
Antwort |
Datenaus, SW1, SW2 |
Befehl "Transparent exchange"
Get-Help |
Klasse |
EINFG |
P1 |
P2 |
Lc |
Eingehende Daten |
Allgemeine Authentifizierung |
0xFF |
0xC2 |
0x00 |
0x01 |
Variable |
TLV-Datenobjekt |
Im Folgenden sind die erforderlichen TLV-Datenobjekte für Transparent Exchange Command aufgeführt, die vom Treiber für den transparenten Austausch von Befehlen mit Speicherkarten unterstützt werden:
Tag |
Datenobjekt |
0x95 |
Transceive – Senden und Empfangen |
0x5F46 |
Timer |
befehl Update-Binary
Der befehl Update-Binary wird verwendet, um Daten in das kontaktlose NFC-Tag/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.
Get-Help |
Klasse |
EINFG |
P1 |
P2 |
Lc |
Eingehende Daten |
Update-Binary |
0xFF |
0xD6 |
Adresse MSB |
Adresse LSB |
Länge der Daten in |
Daten |
Update-Binary MIFARE-Familie
Get-Help |
CLA |
EINFG |
P1 |
P2 |
Le |
UL WRITE 4 |
0xFF |
0xD6 |
0x00 |
0x00 zu 0x15 |
0x04 |
CL 1k WRITE 16 |
0xFF |
0xD6 |
0x00 |
0x00 zu 0x3F |
0x10 |
CL 4k WRITE 16 |
0xFF |
0xB0 |
0x00 |
0x00 zu 0xFF |
0x10 |
Update-Binary Juwelenfamilie
Get-Help |
CLA |
EINFG |
P1 |
P2 |
Le |
WRITE1-E |
0xFF |
0xD6 |
Blocknummer |
Blockoffset |
0x01 |
WRITE8-E |
0xFF |
0xD6 |
Blocknummer |
0x00 |
0x08 |
familie felica Update-Binary
Get-Help |
CLA |
EINFG |
P1 |
P2 |
Le |
Eingehende Daten |
UPDATE |
0xFF |
0xD6 |
0x00 |
0x00 |
Länge der Daten in |
Anzahl des Diensts, Anzahl der Blöcke, Blockliste |
Get-Help |
CLA |
EINFG |
P1 |
P2 |
Le |
WRITE |
0xFF |
0xD6 |
Blocknummer |
0x00 |
0x04 |