AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Cardreader auslesen mit CT-API
Thema durchsuchen
Ansicht
Themen-Optionen

Cardreader auslesen mit CT-API

Ein Thema von Guido R. · begonnen am 10. Jun 2011 · letzter Beitrag vom 16. Apr 2012
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Guido R.
Guido R.

Registriert seit: 5. Jul 2007
141 Beiträge
 
Delphi 12 Athens
 
#11

AW: Cardreader auslesen mit CT-API

  Alt 11. Jun 2011, 14:38
An der Firmware kann es (noch) nicht liegen. - Die Zusendung einer eGK durch die Gematik steht noch aus. Daher teste ich derzeit nur an der KVK. Deren Spezifikation sollte inzwischen wohl jedes eHealth-Terminal unterstützen.

Hab zwischendurch auch SAD und DAD als pByte definiert. Gleiches Problem

Gruß
Guido R.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.768 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: Cardreader auslesen mit CT-API

  Alt 11. Jun 2011, 14:45
Code:
typedef
         char (*CT_DATA) (USHORT, UCHAR*, UCHAR*, USHORT, UCHAR*, USHORT*, CHAR*);
Wenn der Funktionskopf richtig sein sollte (habe leider noch keine offizielles PDF o.ä. mit den Headern gefunden), dann ist die Längenangabe zur Responsezeichenkette auch ein Pointer.
Die Längenangabe zur Befehlszeichenkette jedoch nicht.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von Guido R.
Guido R.

Registriert seit: 5. Jul 2007
141 Beiträge
 
Delphi 12 Athens
 
#13

AW: Cardreader auslesen mit CT-API

  Alt 13. Jun 2011, 00:07
Gem. Richtlinien der Teletrust ist der Aufbau der CT_Data wie folgt :

CTN IU16
DAD IU8
SAD IU8
LENC IU16
COMMAND Referenzadresse eines Feldes mit Elementen vom Typ IU8
LENR IU16
RESPONSE Referenzadresse eines Feldes mit Elementen vom Typ IU8

RESULT IS8

(IS8=Integer Signed 8Bit, IU8=Integer Unsigned 8Bit, IU16=Integer Unsigned 16Bit)

Quelle : http://www.teletrust.de/uploads/media/MKT1-0_T3.pdf
  Mit Zitat antworten Zitat
Benutzerbild von Guido R.
Guido R.

Registriert seit: 5. Jul 2007
141 Beiträge
 
Delphi 12 Athens
 
#14

AW: Cardreader auslesen mit CT-API

  Alt 15. Jun 2011, 11:29
GESCHAFFT !

Kurz gesagt : Die Definition der CT-API nach Teletrust ist falsch (oder zumindest sehr unklar definiert).
LENR (s. vorherigen Beitrag) MUSS ein Pointer auf eine Word-Variable sein, da CT_Data in diesen Wert die eigentliche Länge der Antwort schreibt.

Somit ist eine funktionierende Definition für CT_Data wie folgt:

function(Ctn:Word; Dad:PByte; SAD:PByte; Lc:Word; Cmd:Pointer; Lr:Pointer; Rsp:Pointer):ShortInt;StdCall;

Gruß
Guido R.
  Mit Zitat antworten Zitat
Wulfhorst

Registriert seit: 30. Jun 2004
Ort: Schwaebisch Gmuend
1 Beiträge
 
Delphi 7 Professional
 
#15

AW: Cardreader auslesen mit CT-API

  Alt 17. Mär 2012, 13:28
Ich bin als Psychotherapeut neuerdings gezwungen die Gesundheitskarte - eGK - auszulesen. Bislang habe ich die KVK-Karte immer mit einem ganz alten Programm aus der TOOLBOX auslesen können. Das kleine Programm hat mit einer - leider - kompilierten Komponente von TOWITOKO gearbeitet. Aber es lies sich prima in meine Delphi 4.01 Projekte integrieren. Zertifiziere Programme können selbstverständlich mittlerweile die eGK auslesen. Aber ich arbeite parallel und alltags immer noch mit meinem eigenen Programm (www.wulfhorst.info -> EMILA)und möchte das auch weiterhin tun. Gibt es Hilfe? Ich könnte mir auch eine kleine separate App vorstellen, die den Inhalt der eGK als ASCII bzw. ini-Datei ausgibt, die ich dann mit meinen großen Programm auslese. Ob Quelltext (wunderbar!) oder als kleines kompiliertes Zusatzprogramm mit obiger Exportfunktion. Beides würde einem alten Dephi-Freak das Leben leichter machen. Danke.
Wolf
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.295 Beiträge
 
Delphi 12 Athens
 
#16

AW: Cardreader auslesen mit CT-API

  Alt 16. Apr 2012, 10:49
Ich muss den Thread auch noch mal nach vorne holen. Muss (Adress-)daten aus der eGK lesen. Ein direkter zugriff auf eine API über eine Delphi-Komponente wäre natürlich schön, mir würde aber auch ein externes Programm reichen, welches diese Daten einfach in eine Textdatei schreibt, welche ich dann auslesen kann. Kennt jemand so ein Programm?
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#17

AW: Cardreader auslesen mit CT-API

  Alt 16. Apr 2012, 11:37
Soweit ich weiß sind die Daten der eGK in verschiedenen Containern in meheren Stufen abgesichert/ verschlüsselt. Zur Infrastruktur und Karte gibt es aber tonnenweise Doku, insofern könnte man es sicher hinbekommen (Uugangsberechtigung vorausgesetzt).
Wenn man tonnenweise Doku in Code umrechnet, ist das Programm aber wahrscheinlich nicht mehr so klein, wie früher.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#18

AW: Cardreader auslesen mit CT-API

  Alt 16. Apr 2012, 22:39
GESCHAFFT !

Kurz gesagt : Die Definition der CT-API nach Teletrust ist falsch (oder zumindest sehr unklar definiert).
Warum? Klaus hatte doch den Prototypen geliefert:

Ich korrigiere mal den Lapsus mit der Aufrufkonvention:
Code:
char (*__stdcall CT_DATA) (USHORT, UCHAR*, UCHAR*, USHORT, UCHAR*, USHORT*, CHAR*);
Jetzt deine Version:

function(Ctn:Word; Dad:PByte; SAD:PByte; Lc:Word; Cmd:Pointer; Lr:Pointer; Rsp:Pointer):ShortInt;StdCall;
... und jetzt meine etwas mehr delphianisierte Version:

TFNCData = function(ctn: Word; var dad: Byte; var sad: Byte; lenc: Word; command: ^Byte; var lenr: Word; response: ^Byte): Byte; stdcall; Bei "dad" und "sad" scheint es sich ja nur um einen einzelnen 8bit-Wert zu handeln, während mit "response" und "command" jeweils ein Delphi-Referenz durchsuchenarray gemeint ist. Ich nehme mal an jemand der hier in den letzten Jahren Delphi benutzt hat kann das noch verfeinern (bspw. einen passenderen Typen als ^Byte).

Man merkt gleich daß das aus deutschen Landen kommt ... ... man könnte ja mindestens mal die C-Prototypen in den PDFs angeben oder am besten gleich einen normalen Header. Grausam sowas ...
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 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