Próbuję zbudować poprawnie sformatowaną komendę GET PROCESSING OPTIONS, aby wysłać ją na bezstykową kartę EMV. This post był bardzo pomocny, ale muszę wiedzieć trochę więcej szczegółów.Parsowanie PDOL dla polecenia GET PROCESSING OPTIONS w transakcji EMV
Czy podczas analizowania PDOL można bezpiecznie założyć, że każdy znacznik ma długość 2 bajtów, a następnie wielkość oczekiwanych danych?
Przykładowo PDOL 9F66049F02069F37049F1A02
jest podzielony na 9F66 04
, 9F02 06
itp każdego z 2 bajtów i znaczniki 1 bajt o oczekiwanej długości wartości danych.
Czy można bezpiecznie założyć, że każdy znacznik ma długość 2 bajtów podczas analizowania?
czy ukończyłeś parsowanie PDOL? – Olivarsham
@Olivarsham Skończyło się na używaniu 2 bajtów, ponieważ wszystkie testowane karty używały tylko 2 bajtowych znaczników dla PDOL.Odpowiedź Michaela Rolandsa poniżej zdecydowanie pomogła wiedzieć, jak określić długość znacznika ("Jeśli górny bit następnego bajtu znacznika jest jeden (znacznik [i] i 0x080 == 0x080), to znacznik składa się z jeszcze jednego bajtu. to powtarza się dla każdego kolejnego bajta ") Tutaj jest dobrym źródłem informacji, aby dowiedzieć się więcej na temat analizowania PDOL. http://www.openscdp.org/scripts/tutorial/emv/initiateapplicationprocess.html transakcji EMV: http://www.openscdp.org/scripts/tutorial/emv/index.html –
Niektóre z testowanych przez nas kart mają znaczniki '9505',' 9A03', '9C01', które mają tylko dwa bajty. Wygląda na to, że muszę napisać osobny parser dla PDOL. W każdym razie, dzięki! – Olivarsham