Was APDU-Befehl-ID-Karte
Was APDU-Befehl bekommt 7 byte der card-ID?
Ich verwende T=CL (ISO7816) pritocol mit ISO14443-Schicht. Auf der Karte erkennen können, sehe ich nur 4 byte der card-ID.
Ich suchte, das ist APDU-Befehl bekommt für Karten-ID.
Zum Beispiel:
0xFF, 0xCA, 0x00, 0x00, 0x00
aber das Ergebnis der Justizgebäude Befehl: 6E 00
, das auf Spezifikationen des APDU-Antworten, die sagen, dass "Klasse nicht unterstützt"
Dann finde ich, dass seine APDU-Befehl können sein:
0x00, 0xCA, 0x00, 0x00, 0x00
dieser Befehl zurück 6A 88
wo 6A XX
- "Falsche parameter(s) P1-P2" und 88
- "Referenzierte Daten nicht gefunden"
Was Sie über Sie denken?
Danke!
p.s. Alle Befehle wie: CLA, INS, P1, P2, LenData, Data
Meine anderen Befehl arbeiten, die normalerweise (wie sellect aplet und arbeiten), das problem war nur immer Karten-ID
InformationsquelleAutor dr_begemot | 2012-03-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Antwort gegeben, bevor Sie falsch ist. Denn wir sprechen hier nicht über eine ISO-7816-Befehl hier aber einen internen Befehl des PC/SC API.
Die APDU "0xFF 0xCA 0x00 0x00 0x00" ist in der Tat richtig, und ich habe Karten, für die ich eine 7-byte-Antwort. Bitte beachten Sie, dass dies nur funktioniert mit kontaktlosen (RFID -) Karten, weil diese UID ist Teil des Funk-Protokolls. Bitte beachten Sie, dass einige chips zurückkehren wird eine neue, zufällige UID nach jedem power-up. Dies ist für das Beispiel gilt für my passport chip sowie meinen deutschen Personalausweis und eine Gegenmaßnahme zum verhindern, dass das verfolgen der card-Inhaber. In der Theorie ist eine solche zufällige UIDs beginnen mit 0x08, aber dies ist nicht immer der Fall.
Als die UID ist eine "innere" Wert des Protokolls der APDU in Frage, NICHT an der Karte sondern nur einen internen Befehl (von der PC/SC-Schnittstelle), um die UID aus dem card reader Treiber. CLA 0xFF ist in der Regel nicht im normalen Gebrauch, da Sie nur für das reserviert für "Protocol Parameter Selection" (PPS). PC/SC Missbrauch dieser CLA für interne Befehle.
Den Befehl hier ist die PC/SC-internen "Daten Holen" - Befehl, in Teil 3, Abschnitt 3.2.2.1.3 der PC/SC-Spezifikation. Hier P1 und P2 spezielle, vordefinierte Bedeutungen, so gibt es keinen Punkt beim versuchen, verschiedene Werte. Die standard nur defineds P1=0,P2=0 für immer die UID und P1=1,P2=0, für "alle historischen bytes von der ATS eines ISO 14443 Eine Karte ohne CRC". Andere Werte werden nicht unterstützt.
Interessanterweise die Antwort 0x88 0x6A ist nicht im standard definiert. 0x6a 0x81 bedeuten würde: "Funktion nicht unterstützt", was der Fall wäre, die Karten, die nicht über eine UID (standard nennt 7816-10 den Kontakt-Karte). Die beiden anderen vorgegebenen Antworten (0x62 0x82 und 0x6C 0xXX) definieren, die zu einer Diskrepanz zwischen der gewünschten Antwort, die Länge und die tatsächliche Menge der Daten und nicht auftreten hier, weil wir Sie einfach bitten, eine Länge der Daten durch Angabe von 0 in das Letzte byte der Anfrage.
Also warum es nicht funktioniert für die Einreicher, weiß ich nicht. Bei mir klappt es, einige Karten zurück 4 bytes, andere zurück 7 bytes.
Sehen, die PC/SC-standard, Teil 3 in besonderen, hier: http://www.pcscworkgroup.com/specifications/specdownload.php
InformationsquelleAutor Michael
0xCA ist die GET-DATA-Befehl. Sie muss eine TLV-Tag in P1-P2.
ISO 7816 Teil 6 "Interindustry data elements for interchange" hat eine Liste dieser tags, aber keiner von Ihnen entspricht eindeutig auf "Karten-ID". Ich schlage vor, dass Sie versuchen, alle Werte von P2, wobei P1 gleich 0x00, 0x5F, oder 0x7F, um herauszufinden, welche Daten-Elemente werden unterstützt durch Ihre Karte.
Ja, natürlich. Sie müssen versuchen, die alle - Werte von P2, von 0x00 bis 0xFF, zusammen mit den drei Werten 0x00, 0x5F, und 0x7F für P1. Das ist 768 Kombinationen insgesamt.
InformationsquelleAutor TonyK
Ich denke, Ihre zweite Befehl ist richtig, aber die Karte wurde nicht programmiert, die mit einem Anwendungs-Id.
Für 6A88 die BasicCard Handbuch sagt: "Den built-in Befehl HOLEN ID der ANWENDUNG wird diesen Fehler-code, wenn kein Anwendungs-ID konfiguriert wurde, in der BasicCard".
InformationsquelleAutor Martin Clemens Bloch
Dies ist ein sehr oft diskutiertes problem.
0xFF, 0xCA, 0x00, 0x00, 0x00 ist die richtige pcsc-Befehl, um th-Karte uid.
Wenn Sie eine 6E00 Antwort, dann ist dein Treiber hat ein bug. Treiber aktualisieren oder versuchen Sie einen anderen reader.
InformationsquelleAutor Erdling79