Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Auslesen von Daten aus nPA, KVK oder EGK mittels PC/SC (https://www.delphipraxis.net/156839-auslesen-von-daten-aus-npa-kvk-oder-egk-mittels-pc-sc.html)

Guido R. 16. Dez 2010 17:33

Auslesen von Daten aus nPA, KVK oder EGK mittels PC/SC
 
Hallo !

Ich möchte Felder einer Adressmaske füllen, indem ich die entsprechenden Daten aus der
* EGK (Elektronische Gesundheitskarte)
* KVK (Krankenversichertenkarte)
* oder nPA (neuer Personalausweis)
auslese.

Um Verbindung zu der Hardware herzustellen, benutze ich (bislang) eine abgewandelte Version von Nobbi's PCSC-Komponente (www.nobbi.com).
Dies funktioniert soweit auch ganz gut. Die CardReader (ReinerSCT & ChipDrive Micro) werden erkannt; ich kann ein einzelnes Gerät anwählen und bekomme auch korrekt mitgeteilt, wenn eine Karte eingelegt oder entnommen wird.

Meine Probleme sind nun :
  1. Wie erkenne ich, ob die eingelegte Karte eine KVK, EGK oder nPA ist ?
  2. Wie lese ich entsprechend der erkannten Karte die einzelnen Informationen (Name, Vorname, Wohnort, Krankenkasse etc.) aus?
    (Vermutlich mit "GetResponseFromCard()", aber die Parameter sind mir nicht geläufig)
Leider sind qualifizierte Informationen zu den o.a. Karten (insbes. zum nPA) dünn gesät.

SDKs, die entsprechende Funktionen mittels DLL zur Verfügung stellen, aber dafür die Verwendung eines bestimmten CardReader-Herstellers voraussetzen nützen mir leider wenig.

Ein paar Tips wären sehr willkommen.

Danke im voraus!

DelphiBandit 16. Dez 2010 19:20

AW: Auslesen von Daten aus nPA, KVK oder EGK mittels PC/SC
 
Für KVK und eGK heisst das Stichwort imho CTAPI, allerdings bist Du damit wieder auf die verschiedenen Hersteller-DLLs angewiesen. Dafür lässt es sich aber "relativ" einfach implementieren, wenn man das Laden der DLLs dynamisch macht. Aber Du schreibst ja, dass Du diese nicht verwenden willst. Finde aber das ist der einfachere Weg, zumindest bei den beiden Karten, weil es sich auf drei einheitliche Kommandos beschränkt. Ob man sowas allerdings beim nPA auch bedacht hat, wage ich in Zweifel zu ziehen.

Guido R. 20. Dez 2010 11:54

AW: Auslesen von Daten aus nPA, KVK oder EGK mittels PC/SC
 
Danke DelphiBandit für Deine Antwort.

Wenn mich Tante Google nicht betrogen hat, dann ist PC/SC ein Standard der den (fast ausschliesslich in Deutschland verwendeten) CTAPI-Standard zumindest ergänzen sollte und in der Version 2 auch weitestgehend die Mehrfunktionen von CTAPI erfüllt.

Letztendlich ist es mir aber auch egal, ob CTAPI oder PC/SC.
Ich möchte wissen, wie ich die einzelnen Informationen aus der Karte auslesen kann (Stichwort "APDU" !?). Die einzige brauchbare Information die ich bisher finden konnte, ist ein ca 10 Jahre alter Artikel aus der "Toolbox". Dieser bezieht sich aber ausschliesslich auf KVK und einige Telefonkarten.

Ideal wäre ein Beispiel, wie ich einen bestimmten Wert aus der jeweiligen Karte auslesen kann (CT_Data-Befehl (bei CTAPI) reicht mir hier) und Informationen über den strukturellen Aufbau der 3 Karten.

Danke.

DelphiBandit 20. Dez 2010 15:03

AW: Auslesen von Daten aus nPA, KVK oder EGK mittels PC/SC
 
Hallo,

das ist nicht ganz so trivial auch wenn es nur ein Befehl zum Absetzen ist - dieser aber in seinen Parametern variabel ist.

Ganz grob mal hinskizziert:
  • CT_Init mit korrektem Parametern für CNR und Port (teilweise pseudo serielle COM-Ports)
  • CT_Data mit RequestICC
  • Result auswerten, wenn ok, dann CT_Data mit SelectFile
  • Wenn immer noch ok, dann CT_Data mit ReadBinary
  • Bei eGK sind je nach Länge der Daten ggf. noch Nachleseoperationen notwendig, sie liefert im Moment ein gezipptes XML, welches Container für Patientendaten, Versichertendaten und Geschützte Versichertendaten enthält.
Über den Aufbau der CTAPI-Kommando's findest Du genügend Dokumentation mit einer Suchmaschine. Über den Aufbau der KVK-Daten, hier kommt es auf die Einstellung des Lesers an, entweder Stichwort Festformat oder ASN.1.

Über den Aufbau der Kartendaten seien Dir diese Links empfohlen:
Aufbau KVK ab Seite 12
Aufbau der eGK-XML + Mapping eGK auf KVK-Daten

Was mir zum Einstieg geholfen hat, sind diverse kleine C-Beispielprogramme, welche die Leser-Hersteller meist mitliefern. Der Erfahrungswert sagt: Ist auf jeden Fall alles zusammen ein grösserer Angang.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:20 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