Autor Beitrag
DSl1mSh4dy
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mo 13.07.15 14:55 
Hi zusammen,

kann mir jemand sagen, wie ich einen PC/SC2 Kartenleser in C# einbinden und auslesen kann auf einfachem Wege?
Oder kann mir jemand eine gute Dokumentation für sowas empfehlen?

Muss die Meta-Daten (Name & Anschrift) einer gkv-Karte (egk) auslesen per c# und habe SharpDevelop auf Windows 7 und dazu den SCM SDI011 Kartenleser gekauft.

Wäre super, wenn mir jemand helfen kann!

Danke!
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 13.07.15 16:43 
- Nachträglich durch die Entwickler-Ecke gelöscht -
DSl1mSh4dy Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Di 14.07.15 10:30 
Guten Tag Frühlingsrolle,

leider hilft mir das nicht so ganz weiter - da habe ich zwar Programme die das können (wobei HelloCard nur die Karteninfos ausliest und HelloMct,eGK nicht funktioniert), aber ich will ja ein eigenes Programm schreiben, das nachher weitere Features haben soll :-( ...

Hat noch jemand einen guten Tipp für mich?

Danke!
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 14.07.15 15:08 
- Nachträglich durch die Entwickler-Ecke gelöscht -
DSl1mSh4dy Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 16.07.15 14:59 
Hi,

also ich habe jetzt den Kartenleser angebunden und bekomme auch etwas, aber leider nur 19 Hexadezimale Bytes die übersetzt in einen String absoluten Wust ergeben ....

Ich paste hier Mal meinen Code (der nicht viel ist):
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
WinSCard card = new WinSCard();
card.EstablishContext();
card.ListReaders();
string szReader = card.ReaderNames[1];
card.Connect(szReader);
string cardout = System.Text.Encoding.Default.GetString(card.Atr);
richTextBox1.Text = cardout;

aber da kommt wie gesagt nur Wust raus der keinen Sinn ergibt ... Hat jemand einen Tipp für mich, was ich da falsch mache?

Danke und Grüße

Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 16.07.15 15:28 
Was erwartet du denn? Einen lesbaren Text? :gruebel:
Du mußt dich schon mit der "egK Spezifikation" auseinandersetzen, um die Daten interpretieren zu können - such mal nach diesem Begriff im Internet. Es gibt drei PDFs dazu (ich weiß aber nicht, ob das öffentliche Links sind, daher verlinke ich diese hier nicht).

PS: Und den Beispielcode zu "HelloMCT" aus dem ersten Link von user profile iconFrühlingsrolle solltest du dir wohl auch mal anschauen.
DSl1mSh4dy Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 16.07.15 15:40 
natürlich erwarte ich keinen lesbaren Text, ich erwarte Hexadezimal-Ausgaben. Die habe ich soweit auch, aber bloss 19 Zeichen wenn man es in normalen Text übersetzt und dieser "Text" nach dem übersetzen ist auch Wust ohne Ende, da steht nichts von meinen Daten drin, weder Name, noch Adresse oder sonst was ...
Na ja, drei PDFs zur egK Spezifikation habe ich schon Mal gefunden, dann setze ich mich mal damit auseinander. Danke schon Mal dafür.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 16.07.15 19:09 
Ich denke mal, daß du das spezielle Protokoll beachten mußt, d.h. erst einmal eine Anmeldung (Authentifizierung o.ä.) gemacht werden muß, ehe man dann spezielle Kommandos absetzen kann, welche dann die benötigten Daten liefern (du kannst nicht erwarten, daß du gleich alle Daten 'en bloc' erhältst).
DSl1mSh4dy Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Do 16.07.15 22:50 
Ja soweit klar, die Frage wäre (was ich ebenfalls nicht finde) wie würde eine solche Authentifizierung ablaufen?
Ich weiß bereits, dass die Daten die ich brauche unverschlüsselt im XML-Format auf der Karte gespeichert sind (habe ich in den Specs der egK gelesen).
Ich muss also bloss noch den Abfrage-Mechanismus für exakt die Daten herausfinden und per Regex die Daten rausfiltern die ich benötige.
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 486
Erhaltene Danke: 99

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Fr 17.07.15 00:57 
Das klingt, als würdest du den ATR bekommen - was ein gutes Zeichen ist, denn dann funktioniert die Kommunikation mit der Smartcard bestens. Der ATR gibt Aufschluß darüber, welches Protokoll zu fahren ist und mit diesem mußt du dann die weiteren Daten aus der Karte ziehen.

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
DSl1mSh4dy Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Fr 17.07.15 08:42 
Hi,

danke OlafSt, sieht ganz so aus als hätte ich den ATR.
Habe das Mal mittels smartcard-atr.appspot.com/ aufgeschlüsselt, aber wie genau übersetze ich so einen ATR in Infos die mir an dieser Stelle weiterhelfen?
DSl1mSh4dy Threadstarter
Hält's aus hier
Beiträge: 15



BeitragVerfasst: Mi 22.07.15 17:22 
Hi noch Mal,

also ich bin jetzt wieder einen Schritt weiter.
Ich habe herausgefunden, dass ich einen sendBuffer bauen muss, der eine gewisse Kombination an die Karte sendet, um über den responseBuffer die Daten zu erhalten.
Dieser sendBuffer muss wohl aus folgenden Werten bestehen:
CLA (class byte), INS (instruction byte: B0 oder B1 für Read Binary), P1 (parameter byte 1), P2 (parameter byte 2), LC (Length Field for Encoding Nc), LE (Lenght Field for Encoding Ne)

ich habe ebenfalls gelesen, dass man wohl am meisten bekommt wenn man die Length Felder auf 00 stellt.

Ich habe also bereits INS, LC und LE - jedoch fehlen mit CLA, P1 und P2 ...

Kann mir jemand mit den Feldern CLA, P1 und P2 helfen?
Kann mir jemand bestätigen, dass ich mit meinen Annahmen zu den Feldern INS, LC und LE richtig liege?

Danke und Grüße!
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 486
Erhaltene Danke: 99

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Do 23.07.15 00:42 
Da du nicht über den Tellerrand "PC/SC" hinausschauen kannst, schubse ich dich runter von dem Teller.

Die MKT-Spezifikation 1.0 vom 15.04.1999 (!) ist das, was du suchst. Hat nichts, aber auch gar nichts mit PC/SC und KVK zu tun, aber mit Smartcards. Merke: Wenn man im Spezialgebiet nicht weiterkommt, gehe eine Komplexitätsebene zurück. Manchmal baut das Spezielle auf dem weniger speziellen auf.

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.