IBAN von Geldkarte lesen

OP #3259023
Lesenswert?

Hallo liebe Gemeinde,
ich habe ein kleines Problem. Meine Aufgabe ist es, von EC-Karten die 
IBAN Nummer auszulesen. Ich habe mir hierzu in JAVA auch ein Programm 
geschrieben, welches die Verbindung zur Karte herstellt. Dies 
funktioniert alles wunderbar.
Leider habe ich das Problem, dass egal welches commadAPDU ich zur Karte 
schicke, die Karte immer mit Fehlern antwortet.
Z.B der Befehl get Data:

byte[] cmdApduGetCardUid = new byte[]{(byte)0x80, (byte)0xCA, 
(byte)0x9F13, (byte)0x9F36 , (byte)0,(byte)0 , (byte)0x00};
ResponseAPDU respApdu = channel.transmit(new 
CommandAPDU(cmdApduGetCardUid));

liefert mir immer folgende Antwort:

ResponseAPDU: 2 bytes, SW=6a86

Ich hoffe es kann mir jemand weiterhelfen, da ich langsam durchdrehe und 
am Verzweifeln bin :-(
OP #3259487
Lesenswert?

Hallo,

erst mal Danke für eure Antworten.

Also ich habe es mit (byte)0x9F36 versucht, weil ich es so ein einer 
Doku gelesen hab. Hab es aber auch mit 0x00 in beiden Parametern 
versucht.

Eigentlich sollte es ja so sein: 0x00, 0xCA, 0x00, 0x00 hierbei bekomme 
ich leider auch die selbe Fehlermeldung...
Sehr schöner Hinweis mit dem Heft :D
Gast #3259698
Lesenswert?

OK, dann mal konkreter: soll "(byte)0x9F36" jetzt ein Byte oder zwei 
Bytes in die PDU einfügen?

Und überhaupt würde ich als Chipkarte gemäß ISO7816 nach "80 CA" (GET 
DATA) nur noch drei Bytes erwarten, nämlich die beiden Bytes, die mir 
sagen, welches Datenobjekt genau gefragt ist ("9F 13" und "9F 36" sehen 
vernünftig aus), und dann noch eines, das die maximale Länge der Antwort 
festlegt (0 steht für 256).

Aber das ist alles kontextabhängig, d.h. vorher muß man noch irgendeinen 
Affentanz aus "select file" und "select application" gemacht haben. Die 
Leute bei https://code.google.com/p/javaemvreader/ sind damit schon 
ziemlich weit.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren