Autor Beitrag
motion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 295

XP, Linux
D7 Prof
BeitragVerfasst: Do 08.11.12 11:44 
Hallo,
unsere eigene Warenwirtschaft (in Delphi7 geschrieben) benutzt momentan klassische Magnetkartenleser in Tastaturen um bei EC-Lastschriften die Bankdaten der Kunden zu erfassen.
Wie beim Lastschriftverfahren üblich gibt es einen Ausdruck mit den Kontodaten (BLZ,Kto.Nr.) den der Kunde unterschreibt und wir dann per Lastschrift manuell abbuchen.
Okay, nur die Zeiten der Karten mit Magnetstreifen neigen sich dem Ende.
Wir wollen jetzt die simplen Basisdaten aus den Karten per Chipkartenlesegerät auslesen (CTAPI). An einige Daten komme ich ran (Karten-Nr., Ablaufdatum; stehen im Kartendateisystem unter MF/EF_ID). Nur die Bankdaten fehlen mir (BLZ/Konto-Nr.).
Hat jemand eine Ahnung, wo und wie ich die ziehen kann?
Ich habe schon etliches gegoogelt und komplexe PDF Dateien zu dem Thema gelesen. Nur die gesuchte Info habe ich nicht finden können.
Mit Tools wie Chipcardmaster werden die gesuchten Infos direkt angezeigt; beim rumstochern im Dateisystem damit habe ich die Infos aber nicht finden können. Stecken die im verschlüsselten Bereich MF/EF_Info ?
Hat jemand da schon mal Erfahrungen gesammelt oder Tips zur Hand?


Moderiert von user profile iconNarses: Topic aus Windows API verschoben am Do 08.11.2012 um 14:19
Sinspin
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1321
Erhaltene Danke: 117

Win 10
RIO, CE, Lazarus
BeitragVerfasst: Do 08.11.12 16:08 
Um Dir nicht deine wohlverdiente Arbeit abzunehmen verweise ich lediglich mal auf einen Link der als erstes beim Suchrießen kommt wenn man nach dem richtigen Wort sucht. Der Inhalt der Datei sollte Deine Fragen beantworten. Jedefalls macht es nach einem groben überfliegen auf mich den Eindruck als solltest Du dort fündig werden.

_________________
Wir zerstören die Natur und Wälder der Erde. Wir töten wilde Tiere für Trophäen. Wir produzieren Lebewesen als Massenware um sie nach wenigen Monaten zu töten. Warum sollte unser aller Mutter, die Natur, nicht die gleichen Rechte haben?
motion Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 295

XP, Linux
D7 Prof
BeitragVerfasst: Do 08.11.12 16:20 
Danke für die Antwort.
Diese PDF habe ich schon gelesen. Laut Abschnit 6.10 befinden sich die Informationen im verschlüsselten Bereich MF/EF_Info (wie in meiner Ursprungsfrage auch schon vermutet).
Hat jemand damit schon Zugriffe realisiert und Codefragmente zur Hand?
Das Abfragen der offenen Dateien funktioniert soweit, nur das Handshake für die verschlüsselten Bereiche habe ich nicht verstanden.

Abschnitt 6.10 beginnt mit:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
6.10. EF_INFO
EF_INFO bezeichnet das lineare EF, das in Record '01' kontospezifische Daten des
Karteninhabers aus Spur 2 und Spur 3 einer Magnetstreifenkarte enthält.
Das EF_INFO ist im MF enthalten.
Die ACs für das EF_INFO legen fest, daß die enthaltenen Daten nur gelesen werden können,
wenn sich die externe Welt vorher mittels EXTERNAL AUTHENTICATE unter Verwendung des
globalen Schlüssels KINFO (Schlüsselnummer '02') authentisiert hat. Durch Aufruf des Kommandos
READ RECORD mit CLA = '04' fordert das Terminal an, daß die Antwortdaten mit einem mittels
KINFO gebildeten MAC versehen werden. Der ICV für die MAC-Bildung wird von dem Terminal
vorher mittels PUT DATA an die Karte übergeben. Auf diese Weise authentisiert sich die Karte
gegenüber dem Terminal.
Ein Terminal, das diesen Schlüssel nicht besitzt, kann daher nicht über die Kontodaten des
Karteninhabers verfügen und damit auch keine PIN-Prüfung vornehmen.


Okay, also die kontospezifischen Daten aus der alten Magnetspur 2&3 sind hier gespeichert, also eigentlich das was ich brauche.
PIN Prüfungen brauche ich nicht.
motion Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 295

XP, Linux
D7 Prof
BeitragVerfasst: Do 08.11.12 22:39 
Ich glaube ich habe was brauchbares zu CTAPI gefunden:
www.panstruga.de/ctapi/spec/ctapi11.pdf
svn.gnumonks.org/tru....0.0/hlp/ctdeuti.pdf

Damit kann man wohl viel mehr anfangen. Da werde ich mich mal drüber hermachen.
EckiCoder
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 21.04.15 08:26 
Hallo, hattest Du da Erfolg?

Ich möchte auch nur für unser Warenwirtschaftssystem Kontonummer und BLZ auslesen.
Aber ich komme da nicht weiter, ahbe diverse Befehel probiert,
Erst ein Init,
dann Reset ICC { 0x20, 0x11, 0x00, 0x00 } mit der positiven Rückgabe 9000
dann Reuqest ICC { 0x20, 0x12, 0x01, 0x01, 0x01, 0x0A, 0x00} mit der positiven Rückgabe 9001
und wenn ich dann EF_INFO auslesen will { 0x04, 0xB2, 0x01, 0xB4, 0x19 }
Bekomme ich nur 6e00 zurück, und nicht das erwartete Bytearray.

Kannst Du mir da helfen?

Grüße.
motion Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 295

XP, Linux
D7 Prof
BeitragVerfasst: Di 21.04.15 08:29 
Hallo,
leider hatte ich damals keinen Erfolg und habe die Sache dann auch nicht weiter verfolgt.