Ich versuche, eine korrekt formatierte GET PROCESSING OPTIONS Befehl zu einer kontaktlosen EMV-Karte gesendet werden. This post war sehr hilfreich, aber ich muss nur ein wenig mehr Details wissen.Parsing PDOL für GET PROCESSING OPTIONS Befehl in EMV-Transaktion
Wenn die PDOL analysiert wird, ist es sicher anzunehmen, dass jedes Tag 2 Bytes lang ist, gefolgt von der Größe der Daten, die im Gegenzug erwartet werden?
Zum Beispiel kann die PDOL 9F66049F02069F37049F1A02
in gebrochen 9F66 04
, 9F02 06
usw. mit jeweils 2-Byte-Tags und 1 Byte für die erwartete Länge des Datenwerts.
Ist es sicher anzunehmen, dass jedes Tag beim Parsen 2 Byte lang ist?
Haben Sie das PDOL-Parsing abgeschlossen? – Olivarsham
@Olivarsham Wir verwendeten nur 2 Bytes, da alle getesteten Karten nur 2-Byte-Tags für die PDOL verwendeten.Die Antwort von Michael Rolands unten half definitiv, die Länge eines Tags zu bestimmen ("Wenn das obere Bit des nächsten Tag-Bytes eins ist (Tag [i] & 0x080 == 0x080), besteht das Tag aus einem weiteren Byte. Dies wird für jedes nachfolgende Byte wiederholt ") Hier ist eine gute Ressource ist mehr zu erfahren über eine PDOL Parsen. http://www.openscdp.org/scripts/tutorial/emv/initiateapplicationprocess.html EMV-Transaktionen: http://www.openscdp.org/scripts/tutorial/emv/index.html –
Einige der von uns getesteten Karten haben '9505',' 9A03', '9C01' Tags, die nur zwei Bytes haben. Sieht so aus, als müsste ich einen separaten Parser für PDOL schreiben. Trotzdem danke! – Olivarsham