Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Jochim Nemetz Geändert vor über 10 Jahren
1
Fachhochschule München, Projektstudium Chipkarten SS 2002 8. DataLayer Command APDU Response APDU Java Card Bereich der DataLayer Gruppe GUI GruppeTreiber Gruppe
2
Fachhochschule München, Projektstudium Chipkarten SS 2002 8. DataLayer Header (mandatory) CLAINSP1P2 Body (optional) LcDATALe 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
3
Fachhochschule München, Projektstudium Chipkarten SS 2002 8. DataLayer Trailer (mandatory)Body (optional) SW1DATASW2 Response APDU – Data - command optional response – SW1 and SW2 - status word
4
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.
5
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.
6
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
7
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
8
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 KMStandAbfahrtsPLZ
9
Fachhochschule München, Projektstudium Chipkarten SS 2002 8. DataLayer PINDataLayer Methoden MethodeCommand APDUReturnwerte CLAINSP1P2LcDataLe public String verify (string PIN, int FID) 0x AB 0x 05 0x 00 0x 00 0x 05 PIN FID 0x 01 Exception Code e(xxxx), xxxx = Rückgabewerte des oncard PIN Applet oder ox, x = Int-Wert der FID public String addPIN (string PIN, int FID) 0x AB 0x 04 0x 00 0x 00 0x 05 PIN FID 0x 00 Exception Code e(xxxx) xxxx = Rückgabewerte des oncard PIN Applet oder o als Success-Code
10
Fachhochschule München, Projektstudium Chipkarten SS 2002 8. DataLayer PINDataLayer Methoden MethodeCommand APDUReturnwerte CLAINSP1P2LcDataLe public String deletePIN (int FID) 0x AB 0x 03 0x 00 0x 00 0x 01 FID 0x 00 Exception Code e(xxxx) xxxx = Rückgabewerte des oncard PIN Applet oder o als Success-Code public String getUsers () 0x AB 0x 06 0x 00 0x 00 0x 00 0x 00 0x 04 Exception Code e(xxxx) xxxx = Rückgabewerte des oncard PIN Applet oder Success-Code oxxxx, xxxx = Bitmaske der gesetzten FIDs
11
Fachhochschule München, Projektstudium Chipkarten SS 2002 8. DataLayer PINDataLayer Methoden MethodeCommand APDUReturnwerte CLAINSP1P2LcDataLe public String unBlock (String PUK) 0x AB 0x 12 0x 00 0x 00 0x 04 PUK 0x 01 Exception Code e(xxxx) xxxx = Rückgabewerte des oncard PIN Applet oder o als Success-Code
12
Fachhochschule München, Projektstudium Chipkarten SS 2002 8. DataLayer PKWDataLayer Methoden MethodeCommand APDUReturnwerte CLAINSP1P2LcDataLe public String WriteStart (string AZS) 0x AB 0x 25 0x 00 0x 00 0x 05 AZS 0x 00 Exception Code e(xxxx) xxxx = Rückgabewerte des oncard PIN Applet oder o als Success-Code public String WriteEnd (string APLZ, string KMS, string AZS) 0x AB 0x 26 0x 00 0x 00 0x 13 APLZ KMS AZS 0x 00 Exception Code e(xxxx) xxxx = Rückgabewerte des oncard PIN Applet oder o als Success-Code
13
Fachhochschule München, Projektstudium Chipkarten SS 2002 8. DataLayer PKWDataLayer Methoden MethodeCommand APDUReturnwerte CLAINSP1P2LcDataLe public String GetMiles () 0x AB 0x 24 0x 00 0x 00 0x 00 0x 00 0x 00 Exception Code e(xxxx) xxxx = Rückgabewerte des oncard PIN Applet oder Success-Code o(String km) public String InitCar (string KMS, string APLZ) 0x AB 0x 20 0x 00 0x 00 0x 08 KMS APLZ 0x 00 Exception Code e(xxxx) xxxx = Rückgabewerte des oncard PIN Applet oder o als Success-Code
14
Fachhochschule München, Projektstudium Chipkarten SS 2002 8. DataLayer PKWDataLayer Methoden MethodeCommand APDUReturnwerte CLAINSP1P2LcDataLe public String ReadData () 0x AB 0x 21 0x 00 0x 00 0x 00 0x 00 0x 20 Exception Code e(xxxx) xxxx = Rückgabewerte des oncard PIN Applet oder Success-Code o(String Data) public String DeleteData () 0x AB 0x 22 0x 00 0x 00 0x 00 0x 00 0x 00 Exception Code e(xxxx) xxxx = Rückgabewerte des oncard PIN Applet oder o als Success-Code
15
Fachhochschule München, Projektstudium Chipkarten SS 2002 8. DataLayer PKWDataLayer Methoden MethodeCommand APDUReturnwerte CLAINSP1P2LcDataLe public String ReadInitData () 0x AB 0x 23 0x 00 0x 00 0x 00 0x 00 0x 09 Exception Code e(xxxx) xxxx = Rückgabewerte des oncard PIN Applet oder Success-Code o(String Data)
16
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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.