Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   WinSCard.dll // Chipkarte auslesen mit Delphi (https://www.delphipraxis.net/189303-winscard-dll-chipkarte-auslesen-mit-delphi.html)

Tazidus 27. Mai 2016 22:27

Delphi-Version: XE7

WinSCard.dll // Chipkarte auslesen mit Delphi
 
Hallo,

ich versuche seid geraumer Zeit mit einer Chipkarte in Kontakt zu treten.
Für mein kleines Programm / Projekt unter Delphi programmiert, versuche ich Bankdaten aus einer ec-Karte aus zu lesen.

ich bräuchte eine kleine DLL oder eine kleines Beispiel.

Bei der Suche im Internet habe ich bisher nichts brauchbares (einfaches) gefunden.
Leider ist mir auch keiner wirklich behilflich.

Ich habe jetzt ein SDK gesehen, bzw. eineun Ausschnitt aus einem PAS-File welches sehr brauchbar erscheint.

Es nennt sich Acr30SampleCodes
und ist von der Firma Advanced Card Systems Ltd.

Wer kann mir sagen, wo ich ein einfaches brauchbares Programm oder eine DLL bekomme, welche ich in mein Programm integrieren kann.

Am liebsten wäre mir eine DLL ähnlich wie die DLL von Windata (http://wiki.windata-banking.de/index...karte_auslesen)

Kann mir einer vielleicht sagen, wo ich das oben genannte SDK bekomme?

Jens01 27. Mai 2016 23:01

AW: WinSCard.dll // Chipkarte auslesen mit Delphi
 
Zitat:

Leider ist mir auch keiner wirklich behilflich.
Warum wohl?:shock:

t.roller 28. Mai 2016 11:54

AW: WinSCard.dll // Chipkarte auslesen mit Delphi
 
@Tazidus: HARDWARE ?

mensch72 28. Mai 2016 12:16

AW: WinSCard.dll // Chipkarte auslesen mit Delphi
 
du musst schon etwas genauer sagen, was du "nicht weisst"...

Die Hardware zum Chipkarten lesen ist im Prizip egal, solange es da PC/SC, CT-API oder noch neumodischere Standardtreiber gibt.
Cherry bietet sowas z.B. einzeln oder in ihre Tastaturen integriert. (meist als Omnikey-OEM)

Dann musst du einiges über Chipkarten wissen... grob getrennt in "synchrone" Speicherkarten und asynchorone Prozessorkarten heute meist nur noch im "T=1" Protokoll (also deine Bankkarten).
Die Kenntnis der verscheidenen Teile der "ISO-7816" hilft, dir beim Verständnis der grundlegeneden Kommunikation mit den Chipkarten sowie deren "Erkennung".

Ganz zum Schluss, musst du dann nur noch das Betriebssystem/FileSystem der auf der Karte implemtierten Anwendung kennen (also bei dir "Bankkarte"), dir ADPUs zusammen setzen/decodieren und schon kann deine Anwendung auf die Daten der Chipkarte zugreifen.

Mit DLL's oder Pascal hat das alles im Prinzip erstmal garnichts zu tun. Reines Treiber und ISO7816 kompatibles Gedöns.
Ob es freundliche Leute gibt, die dir sowas HI-Level in eine DLL packen und die dir fertig geben... keine Ahnung, aber man kann es sich durchaus auch selbst Schicht für Schicht erarbeiten, wenn man kein Geld ausgeben will.

Tazidus 28. Mai 2016 17:33

AW: WinSCard.dll // Chipkarte auslesen mit Delphi
 
Vielen Dank für die Anregung.

Ich möchte die Microsoft WINSCard.dll benutzen. Hardware unabhängig und bei jedem Windows-System dabei.

Bei der Einbindung der DLL bin ich schon gut voran gekommen.
Auch die programmtechnische Umsetzung ist gereift.

Allerding bereiten mir die unterschiedlichen Variablen(-Deklaration) oft Kopfzerbrechen.

Und dann noch die APDU's. Hier gibt es nicht wirklich viel Informationen.
Man kann im Internet jeder Menge Zeugs finden, aber eine Übersicht der APDU's finde ich nicht, bzw. nur unvollständig.

Und dann gibt es noch diesen blöden geschützen Tag auf der Chipkarte (EF_INFO) in dem sich die Kontonummer befinden.

Es gibt da irgendwie ein Verfahren, mit Authentifikation gegenüber der Karte. Dann soll angeblich der Zugriff auf diesen Tag möglich sein.
Aber leider gibt es keine Beschreibung von diesem Vorgang.

Es gibt im Internet Programme, die auch die Bankverbindung auslesen.
Also Hexenwerk und verboten scheint mir dieses nicht zu sein.

Vielleicht ist Delphi auch nicht die richtige Sprache für eine derartige Anwendung.

Ich finde es schade, dass es zu diesem Thema keinen gibt, der mir was berichten kann, bzw. Code zur Verfügung stellt.

Kostenlos? Für brauchbare DLL's wäre ich durchaus bereit was zu bezahlen.
Aber entweder es kommt überhaupt keine Antwort, oder eben die, das man mir nicht helfen kann und/oder möchte.

Schade.

Dann werde ich mich weiter alleine durch das Thema beißen.

Wäre trotzdem dankbar, wenn dem ein oder anderem was zu dem Thema beitragen kann.

Danke
Gruß
Daniel

mensch72 28. Mai 2016 18:44

AW: WinSCard.dll // Chipkarte auslesen mit Delphi
 
https://github.com/OSEHRA-Sandbox/CP...r/WinSCard.pas
http://koeln.ccc.de/archiv/doku/geldkarte.pdf

Das wäre auch mit 5 Minuten Google zu finden gewesen... Aber solange du nach einer "kompletten" ADPU Übersicht suchst, hast du das Prinzip noch nicht verstanden!


Nochmal:
- nach ISO7816 antworten im Prinzip alle Chipkarten standardisiert auf einie wenige ADPUs(bzw. es wird vom Treiber emuliert)
- ab dann kommt es auf die Karte, den Herausgeber und die Funktion/Applikation sowie deine Auth. an, was du mit den Karten machen kannst!!!
- bei Geldkarten kommt man ohne eigenes oder remote SecurityModul nur an wenige Informationen, aber das Konto bekommt man heraus (siehe z.B. das, was der CCC da veröffentlicht hat)
- professionell wendet man sich an die Verbände und Normungsgremien... dort gibt es aber fast nix umsonst und man muss viel (unnötiges mit)lesen... das "Papier" der ISO7816 kostet schon etwas Geld und bei EMV("Euro-/Mastercard & VISA") sowie Sparkassen&Giroverband("Geldkarte") hat man erstmal die Hürde überhaupt an die Informationen zu kommen.

Weil die LowLevel-Informationen so restriktiv gehandelt werden, wirst du da im Internet "offen" kaum etwas "fertiges" als/mit HiLevel-API finden.
Ob Delphi, C/C++ oder .NET ist wirklich egal und behandelt doch nur den Zugriff auf die Übertragungs&Protokollschicht... in den ADPUs der Kommandoschicht steckt die Grundfunktion bzw. "das Geheimnis" der Applikationsschicht...

Mit den oben genannten Links hast du alles was du brauchst, um das selbst zu machen. Aber du MUSST viel lesen, die dort enthaltenen Referenzlinks und Quellenangaben stehen da nicht zum Spass, denn das Konzept ist eine komplexe Hirarchie und auch Leute die es länger auf Anwendungsebene machen, müssen sich für Neues oft doch wieder bis in die Protokollschicht (z.B. wegen der Errorcodes) einlesen und dort nachsehen.

Wenn du gezielte Detailfragen hast, bekommst du wenn zeitlich möglich auch eine punktuelle Lösung als Antwort... so wie du momenmtan fragst ist dir fachlich schwer zu helfen und dir rein kommerziell zu sagen, du kannst für sagen wir 1000Eur eine DLL bekommen, welche dir ein paar "öffentliche Daten" aus einer Geldkarte per WinSCard ausliest, bingt dich fachlich nicht weiter, das spart dir nur Zeit und "Lesen".

Florian71 28. Sep 2016 19:21

AW: WinSCard.dll // Chipkarte auslesen mit Delphi
 
Besteht das problem noch?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz