160 likes | 295 Views
8. DataLayer. GUI Gruppe. Treiber Gruppe. Command APDU. Response APDU. Java Card. Bereich der DataLayer Gruppe. Header (mandatory). Body (optional). CLA. INS. P1. P2. Lc. DATA. Le. 8. DataLayer. Command APDU CLA - indicates the type of command (ISO, prop.)
E N D
8. DataLayer GUI Gruppe Treiber Gruppe Command APDU Response APDU Java Card Bereich der DataLayer Gruppe Fachhochschule München, Projektstudium Chipkarten SS 2002
Header (mandatory) Body (optional) CLA INS P1 P2 Lc DATA Le 8. DataLayer • Command APDU • CLA - indicates the type of command (ISO, prop.) • INS - specifies the instruction to be performed • P1 and P2 - instruction parameters • Lc - number of bytes in the data field • Data - command optional data • Le - number of bytes expected in the response Fachhochschule München, Projektstudium Chipkarten SS 2002
Body (optional) Trailer (mandatory) DATA SW1 SW2 8. DataLayer • Response APDU • Data - command optional response • SW1 and SW2 - status word Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer • Die Aufgaben des DataLayer • Umwandeln der übergebenen Parameter ( z.B. Abfahrtszeit ) in Hex-Werte und erstellen des Sendbuffers. • Auslesen des Recvbuffers und Übergabe der Werte an die GUI. Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer • Erschwerende Umstände • Häufig wechselnde Anpassungen der Spezifikationen erforderten einige Mühen bei der Implementierung. • Aufgrund der Positionierung zwischen Treiber und GUI konnte die korrekte Funktionalität lediglich simuliert werden, da Tests im Gesamtsystem erst nach dem Zusammensetzen aller Teile möglich waren. Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer • Entwicklung einer Testumgebung • Aufruf der verfügbaren Funktionen • Simulation der zu übergebenden Daten • Ausgabe der Ergebnisse • Überprüfung der „Status Words“ Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer Testumgebung Beispiel CarInit: public String initCar(String KMStand ,String AbfahrtsPLZ) Spezifikation: KMStand 4 Byte AbfahrtsPLZ 4 Byte AnzahlTrips 1 Byte Keine Rückgabe Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer Testausgabe am Beispiel: public String initCar(String KMStand ,String AbfahrtsPLZ) Aufruf der Methode: PkwGuiDataLayer v_Pkw = new PkwGuiDataLayer(); ergebnis = v_Pkw.initCar("00198765","00085221");System.out.println("InitCar-Ergebnis:" + ergebnis);PkwGuiDataLayer.printByteArray(v_Pkw.sendbuffer);PkwGuiDataLayer.printByteArray(v_Pkw.recvbuffer); Ausgabe des Ergebnis: InitCar-Ergebnis:o v_Pkw.sendbuffer:Oxcl* Ox20* Ox0* Ox0* Ox8* Ox0* Ox13* Ox57* Ox41* Ox0* Ox8* Ox34* Ox29* Ox0 v_Pkw.recvbuffer:* Ox90* Ox0 KMStand AbfahrtsPLZ Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer PINDataLayer Methoden Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer PINDataLayer Methoden Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer PINDataLayer Methoden Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer PKWDataLayer Methoden Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer PKWDataLayer Methoden Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer PKWDataLayer Methoden Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer PKWDataLayer Methoden Fachhochschule München, Projektstudium Chipkarten SS 2002
8. DataLayer • Abschließend • Sehr interessantes Thema • Gute Einführung durch die Vorlesungen am Anfang des Semesters • Guter Einblick in die technischen Details der Chipkarten Programmierung • Etwas Chaotisch ( Absprache mit anderen Gruppen ) • Ständige Änderungen der Spezifikation Fachhochschule München, Projektstudium Chipkarten SS 2002