[[Vorlage(Ausbaufähig, "Der Artikel müsste für die Verwendung mit aktuellen Kartenlesern überarbeitet werden, da einige der genannten Geräte nur noch von historischer Bedeutung sind. Außerdem sind die Installationsangaben zu den benötigten Paketen und zum Chipcard Daemon verwirrend.")]] [[Vorlage(Getestet, xenial, trusty, precise)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Terminal: Ein Terminal öffnen] [:Editor: Ein Editor öffnen] [:Programme_kompilieren: Pakete aus dem Quellcode erstellen] [:Paketinstallation_DEB: Manuelle Installation einzelner Pakete] [:Packprogramme: Archive entpacken] [:Benutzer_und_Gruppen: Benutzer einer Gruppe zuweisen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Finanzverwaltung/gnucash_logo.png, 48, align=left)]] [wikipedia:Homebanking_Computer_Interface:HBCI] (Homebanking Computer Interface), inzwischen auch als [wikipedia:Financial_Transaction_Services:FinTS] bekannt, ist ein offener Standard für den Bereich Electronic Banking und Kundenselbstbedienung und gehört derzeit zu den sichersten Verfahren für [wikipedia:Electronic_Banking:Online-Banking]. Dazu benötigt man einen speziellen Kartenleser für die von den Banken ausgegebenen HBCI-Karten. Diese Karten haben die Größe einer EC-Karte. Die Bibliothek [http://www.aquamaniac.de/sites/libchipcard/ libchipcard] {de} stellt die Kommunikation zwischen Kartenleser und Homebanking-Anwendung her. Obwohl libchipcard so konzipiert ist, dass Kartenleser automatisch erkannt und eingerichtet werden, gibt es in der Praxis immer wieder Probleme und damit Handlungsbedarf, um die drei Komponenten (HBCI-Karte, Kartenleser und Software) zur Zusammenarbeit zu bewegen. [:Hibiscus:] und die kommerziellen Programme [http://www.matrica.de/produkte/produktmpx.html Moneyplex] {de} sowie [http://www.starmoney.de/index.php?id=starmoney Starmoney] {de} (unter Linux mittels [:Wine:] nutzbar) benutzen die [wikipedia:Kartenlesegerät#Software-Schnittstellen:CT-API]-Schnittstelle, um Kartenleser anzusprechen und benötigen daher libchipcard nicht. = Getestete Kartenleser = * ReinerSCT Cyberjack Pinpad Sicherheitsklasse 2 (USB) * ReinerSCT Cyberjack Secoder ([http://www.reiner-sct.com/index.php?option=content&task=view&id=234 mit Treibern von ReinerSCT] {de}) * ReinerSCT RFID Standard ([http://www.reiner-sct.com/index.php?option=content&task=view&id=243 mit Treibern von ReinerSCT] {de} und [sourceforge:pcsc-ctapi:CT-API-Wrapper] {en}) * Towitoko Micro (seriell) * Omnikey Cardman 3121 ([#PC-SC-Treiber mit PC/SC-Treiber und CT-API-Wrapper]) * KOBIL EMV CAP - SecOVID Reader III ([#PC-SC-Treiber mit PC/SC-Treiber] und [http://www.kobil.com/de/support/treiber.html mit Treibern von Kobil] {de}) * Cherry ST-1044U ([#PC-SC-Treiber mit PC/SC-Treiber]) = Grundinstallation = Folgende Pakete werden benötigt [1]: {{{#!vorlage Paketinstallation aqbanking-tools, universe libaqbanking35, universe libaqbanking-data, universe libaqofxconnect7, universe libaqhbci22, universe libchipcard-data, universe libchipcard-tools, universe libchipcard-libgwenhywfar60-plugins, universe }}} Für Ubuntu 14.04 müssen das Paket '''libaqbanking35''' durch eine ältere Version ersetzt werden: '''libaqbanking34''' Für Ubuntu 12.04 müssen die Pakete '''libaqbanking35''' und '''libaqhbci22''' durch ältere Versionen ersetzt werden: '''libaqbanking33''' und '''libaqhbci20'''. Für [:KDE:]: [[Vorlage(Pakete, "qbankmanager libchipcard-tools libchipcard-libgwenhywfar47-plugins libchipcard-data libchipcardd0 libchipcard-ctapi0 libchipcardc2 libaqbanking20-plugins libaqbanking20-plugins-qt libaqbanking20 aqbanking-tools libqbanking5 libaqbanking-plugins-libgwenhywfar47 libaqbanking-data")]] Die übrigen Abhängigkeiten werden automatisch aufgelöst. ## ist der Chipcard Daemon ein Frontend für KDE oder ein separates Programm? == Chipcard Daemon == Der chipcard-daemon ist ein Programm, dass im Hintergrund für die richtige Ansprache des Kartenlesers sorgt. Der chipcard-daemon wird in der Regel als Benutzer der Gruppe `chipcard` gestartet. Alle Benutzer, die einen HBCI-Leser benutzen wollen, müssen also der Gruppe `chipcard` angehören. Normaler Weise ist die Gruppe bereits angelegt. Wenn nicht, muss man sie selbst hinzufügen. Dazu benutzt man entweder die grafischen Tools der jeweiligen Oberfläche [8] (Systemverwaltung) oder auf der Kommandozeile: {{{#!vorlage Befehl sudo addgroup chipcard }}} Danach fügt man den BENUTZERNAME der Gruppe hinzu {{{#!vorlage Befehl sudo usermod -aG chipcard BENUTZERNAME }}} = Optionale Programme = Folgende Programme sind in den Ubuntu-Quellen vorhanden und arbeiten mit '''libchipcard2''' zusammen. Je nachdem, welches Programm man bevorzugt einsetzen möchte, sollte dieses installiert werden: * [:GnuCash:] - Finanzverwaltung für GNOME * [:KMyMoney:] - Finanzverwaltung für KDE == Installation Towitoko micro seriell == Die Treiber-Version 2.0.7 befindet sich in den Ubuntu Quellen und arbeitet einwandfrei mit '''libchipcard2/3/4''' zusammen, folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation libtowitoko2, universe }}} Jetzt muss noch der Libchipcard-Server/-Client eingerichtet werden, damit der Leser erkannt wird. Dazu öffnet man mit einem Editor mit Root-Rechten [4] eine leere Datei und fügt folgende Zeilen ein: {{{ enabled="1" server { typ="local" # Hardy, falls Hardy eingesetzt wird die nächste Zeile auskommentieren, das heißt # entfernen # addr="/var/run/chipcardd.sock" } # # Settings used for the PC/SC ressource manager # driver { char driverType="ctapi" char driverName="tow_ctapi" char driverDataDir="/usr/lib/chipcard/server/drivers/ctapi" char libraryFile="/usr/lib/libtowitoko.so.2.0.0" vars { char WriteBoundary="32" # for Towitoko 2.0.7 # char WriteBoundary="249" # for Towitoko 2.0.8 (not yet released) } reader { char readerType="tow_cdm" char readerName="tow1" int slots="1" char busType="serial" int port="0" # 0=COM1, 1=COM2 etc } } # driver }}} Folgende Argumente überprüfen auf Richtigkeit und gegebenfalls korrigieren: * `addr=`, je nach Ubuntu-Version die entsprechende Zeile mit # aus/-kommentieren * `char libraryFile` auf den korrekten Pfad zur Treiber-DLL überprüfen * `int port`, COM Port des angeschlossenen Kartenlesers angeben, ``0=COM1``, ``1=COM2`` usw. Die restlichen Argumente können ohne Änderungen übernommen werden. Die Angaben für Server und Client sind identisch. == USB HBCI-Kartenleser == HBCI-Kartenleser mit USB-Anschluss sind wesentlich einfacher zu installieren, da sie automatisch erkannt werden. Daher dürfte die folgenden Installationsanleitung für den ReinerSCT Cyberjack Pinpad auf andere Kartenleser übertragbar sein. === ReinerSCT Cyberjack Pinpad Sicherheitsklasse 2 (USB) === {{{#!vorlage Experten Dieser Kartenleser wird vom Hersteller nicht mehr unterstützt. Für neuere Modelle eignet sich das Paket '''libifd-cyberjack6''', das in den offiziellen Paketquellen enthalten ist. Zusätzlich existiert mit dem Paket '''fxcyberjack''' eine grafische Oberfläche zur Konfiguration des Lesers. }}} Der Hersteller ReinerSCT bietet fertige Treiberpakete für die verschiedenen Distributionen an, unter anderem auch für die verschiedenen Ubuntu-Versionen. Von der Herstellerseite das passende, neueste DEB-Paket zur eingesetzten Ubuntu-Version [http://www.reiner-sct.com/support/download/treiber-und-software/cyberjack/chip-linux.html?grp=kontaktbehaftet herunterladen] {de} und installieren [6]. [[Vorlage(Fremd, Paket)]] Bei älteren Kartenlesern mit der ID-Nummer 100 (alte Ecom/Pinpad, herauszufinden mit dem Befehl `lsusb`), kann evtl. die automatische Erkennung nicht funktionieren. Hier einmalig den Befehl {{{#!vorlage Befehl sudo cyberjack addflags 0x100000 }}} eingeben. Dadurch schickt der Treiber bei jedem Initialisieren des Lesers ein Reset-Kommando. Bei manchen gehen die Leser nur mit folgendem (kleineren) Flag (den anderen zurücksetzten): {{{#!vorlage Befehl sudo cyberjack addflags 0x10000 }}} Evtl. muss noch der Libchipcard-Server/-Client eingerichtet werden, damit der Leser erkannt wird, dazu einen Editor [4] mit Root-Rechten öffnen und folgende Zeilen kopieren und in eine leere Datei einfügen: {{{ enabled="1" server { typ="local" addr="/var/run/chipcard.sock" } }}} Die Angaben für Server und Client sind identisch. Als ''' /etc/chipcard/client/chipcardc.conf''' und '''/etc/chipcard/server/chipcardd.conf''' speichern und wie folgt die entsprechenden Rechte setzen: {{{#!vorlage Befehl sudo chmod 644 /etc/chipcard/client/chipcardc.conf sudo chmod 644 /etc/chipcard/server/chipcardd.conf }}} Der Cyberjack Pinpad hat einen USB-Anschluss und benötigt daher keine Treiberangaben, er wird automatisch von '''libchipcard2''' gefunden und erkannt. Zu beachten gilt noch beim Cyberjack Pinpad, dass beim Kontoabgleich das abgefragte Passwort blind am Pinpad eingetippt und mit ''OK'' bestätigt werden muss, am Bildschirm erscheint nur die Aufforderung, das Passwort am Pinpad einzutippen. Es erscheint kein visuelle Rückmeldung wie sonst üblich mit Sternchen (*****) in einem Eingabefeld. Optional gibt es ein [http://sourceforge.net/project/showfiles.php?group_id=34542 Diagnosewerkzeug (cyberjack-diag)] {en} für den Cyberjack Pinpad. Dieses Paket liegt nur im Quellcode vor und muss kompiliert [5] werden, es steht aber im Konflikt mit dem Cyberjack-Treiber, weil in beiden die Datei '''cyberjack''' enthalten ist. Es kann nur mit ``dpkg --force-all -i cyberjack-diag_*_i386.deb`` installiert werden, dies ist aber nicht zu empfehlen. Alternativ kann man das DEB-Paket entpacken [7] und die ausführbare Datei '''fxcyberjack''' starten. Diese bietet eine GUI zur Analyse und Überprüfung für die Einrichtung des Kartenlesers mit Lösungsvorschlägen bei Problemen. Es kann Probleme im Zusammenspiel vom Cyberjack Pinpad-Treiber (libifd-cyberjack6) mit AqBanking geben, weil eine benötigte Treiber-Bibliothek umbenannt worden ist. Abhilfe schafft ein symbolische Verknüpfung auf den neuen Dateinamen [http://www.pclinuxos.com/forum/index.php?topic=121995.15 Quelle] {de}: {{{#!vorlage Befehl # Verzeichnis wechseln cd /usr/lib/pcsc/drivers # Symbolische Verknüpfung anlegen sudo ln -s /usr/lib/readers/libifd-cyberjack.bundle ifd-cyberjack.bundle # pcscd-Dienst neu starten sudo /etc/init.d/pcscd restart }}} {{{#!vorlage Hinweis Das Auslesen einer HBCI-Karte für das Anlegen eines neuen Kontos scheint mit den aktuellen Versionen von [:GnuCash:] (1:2.6.6-2ubuntu2, wily), AqBanking (5.6.1beta-1build1, wily) und libifd-cyberjack6 (3.99.5final.sp08) nicht mehr zu funktionieren. Alternativ ist die Verwendung von [:Hibiscus:] (2.6.12-0ubuntu1~trusty~ppa1) möglich. }}} Möchte man mit anderen Programmen als den obengenannten Homebanking-Anwendungen auf den Cyberjack-Kartenleser zugreifen, z.B. mit Kommandozeilenwerkzeugen, dann muss man den eigenen Benutzernamen und den Benutzer `chipcard` zur Gruppe `cyberjack` hinzufügen [8]. Ein Terminal [3] öffnen und folgenden Befehl ausführen: {{{#!vorlage Befehl sudo adduser $USER cyberjack # user durch den eigenen Usernamen ersetzen sudo adduser chipcard cyberjack }}} = Chipcardserver = Um zu überprüfen, ob die Einrichtung korrekt war, ein Terminal [3] öffnen und den Chipcard-Server mit folgendem Befehl temporär starten: {{{#!vorlage Befehl sudo chipcardd4 --pidfile /var/run/chipcard.pid }}} Die gewählte Homebanking Anwendung starten und den Aqbanking-Einrichtungsassistent starten, siehe dazu in den Wikis zu den einzelnen Anwendungen. '''libchipcard2''' richtet automatisch einen Dienst ein, dieser Dienst erkennt aber den Kartenleser alleine nicht, daher muss noch ein Befehlszeile in die '''/etc/rc.local''' eingefügt werden, dieser Dienst ermöglicht dann den korrekten Zugriff auf den Leser. Dazu einen Editor [4] mit Root-Rechten starten, die Datei '''/etc/rc.local''' öffnen und den oben genannten Befehl zum Starten des Chipcards Server kopieren und einfügen vor dem Befehl '''exit 0''' und abspeichern: === /etc/rc.local === {{{ #!/bin/sh -e sudo chipcardd4 --pidfile /var/run/chipcard.pid exit 0 }}} Nach dem nächsten Neustart steht der Chipcard-Server zur Verfügung. = libchipcard 3/4 = Diese Pakete sind voneinander abhängig, z.B. [:Archiv/QBankManager:Qbankmanager] 0.9.41 arbeitet nicht mit '''libchipcard2''' zusammen. Für KMyMoney reicht die Version aus den Quellen, aber es muss diese [http://www.aquamaniac.de/sites/home/index.php (KMyMoney Banking Plugin) Erweiterung] {en} zusätzlich kompiliert [5] und installiert [6] werden. Gnucash wurde noch nicht zusammen mit '''libchipcard/3/4''' getestet. Diese Versionen liegen nur im Quellcode vor und müssen selber kompiliert [5] werden, worauf hier nicht näher eingegangen wird. Der sichtliche Vorteil dieser Versionen ist der optisch verbesserte Dialog beim Konto-Abgleich, welcher nicht, wie bei libchipcard2, in Fortschrittsbalken-Anzeige und Dialogfenster zweigeteilt ist. Der Towitoko-Treiber arbeitet auch sehr gut mit libchipcard3/4 zusammen, der Cyberjack Treiber arbeitet zur Zeit nur mit libchipcard2 zusammen. * [http://www.aquamaniac.de/sites/home/index.php libchipcard3/4] {dl} * [http://sourceforge.net/project/showfiles.php?group_id=115695 aqbanking 2.3.*] {dl} * [http://sourceforge.net/project/showfiles.php?group_id=88769 gwenhywfar3] {dl} Es gilt gegenüber libchipcard2 Folgendes zu beachten : == libchipcard3 == * Der Server-/Clientpfad liegt nicht in '''/etc/chipcard-*''' sondern in '''/usr/etc/chipcard3/client''' und '''/usr/etc/chipcard3/server''' * Die Einrichtungsdatei heißen dementsprechend '''chipcardd3.conf''' / '''chipcardc3.conf''' * Der Aufruf zum Starten des Servers lautet: {{{#!vorlage Befehl sudo chipcardd3 --pidfile /var/run/chipcardd3.pid }}} == libchicard4 == * Server-/Clientpfad in '''/usr/etc/chipcard/client''' und '''/usr/etc/chipcard/server''' * Die Einrichtungsdatei heißen dementsprechend '''chipcardd.conf''' / '''chipcardc.conf''' * Der Aufruf zum Starten des Servers lautet: {{{#!vorlage Befehl sudo chipcardd --pidfile /var/run/chipcardd.pid }}} = PC/SC-Treiber = Für viele USB-Kartenleser ([http://pcsclite.alioth.debian.org/section.html Übersicht] {en}) lassen sich aus den Quellen Treiber nachinstallieren, um den Kartenleser über die PC/SC-Schnittstelle anzusprechen. Folgende Pakete werden benötigt [1]: {{{#!vorlage Paketinstallation pcscd, universe pcsc-tools, universe libpcsclite1, universe }}} Im Paket '''pcsc-tools''' ist das Programm [ubuntuapps:pcsc-tools:Gscriptor] enthalten. Nach der Installation PC neu starten. Ein Test offenbart, ob der Kartenleser erkannt wurde: {{{#!vorlage Befehl pcsc_scan }}} === KOBIL EMV CAP - SecOVID Reader III === Zusätzlich zum PCSC-Treiber wird nur das Paket [packages:libccid:] (bei 14.04 zur Zeit `libccid_1.4.15-1`) benötigt. In der Regel ist das Paket schon installiert. Wenn nicht, gibt es das Paket auf der Herstellerseite (die dort angebotene Version 1.4.5-1 sollte nur eingesetzt werden, wenn die Version aus den offiziellen Paketquellen noch älter ist). Der Hersteller Kobil bietet fertige Treiberpakete für die verschiedenen Distributionen an, unter anderem auch für die verschiedenen Ubuntu-Versionen. Von der Herstellerseite das passende, neueste Deb-Paket zur eingesetzten Ubuntu-Version [http://www.kobil.com/de/support/downloads/driver-download.html herunterladen] {de} und installieren [6]. [[Vorlage(Fremd, Paket)]] == Installation des Wrappers == [:Finanzverwaltung:Homebanking-Clients] wie z. B. Hibiscus sprechen den Kartenleser allerdings über die CT-API-Schnittstelle an. Um den Kartenleser für diese Programme verfügbar zu machen, ist ein sogenannter "Wrapper" (engl. ''Hülle'') nötig, der die Befehle übersetzt. === Installation eines Pakets für pcsc-ctapi-wrapper === [[Vorlage(Fremd, Paket)]] Auf der Projektseite gibt es die [http://sourceforge.net/projects/pcsc-ctapi/files/Ubuntu%208.04%20Hardy/libpcsc-ctapi-wrapper0_0.2-1_i386/libpcsc-ctapi-wrapper0_0.2-1_i386.deb/download Version 0.2] als Paket für pcsc-ctapi-wrapper. Da das Paket keine Abhängigkeiten hat, funktioniert es auch mit neueren Ubuntu Versionen. Die für die Einrichtung benötigte Datei findet sich dann unter '''/usr/lib/libpcsc-ctapi-wrapper.so.0.2'''. Dieses Paket eignet sich '''nicht '''für ein 64bit-System! === Selber kompilieren === Die neueste Version [sourceforge:pcsc-ctapi/files/pcsc-ctapi/0.3/pcsc-ctapi-wrapper-0.3.tar.gz/download:pcsc-ctapi-wrapper-0.3.tar.gz] {dl} des Wrappers liegt nicht als fertiges Paket vor und muss daher selber kompiliert werden [5]. Die für die Einrichtung benötigte Datei findet sich dann unter '''/usr/local/lib/libpcsc-ctapi-wrapper.so.0.3'''. Eine Anleitung zum korrekten Kompilieren gibt es [https://www.willuhn.de/wiki/doku.php?id=support:list:kartenleser:cyberjack_e-com_ubuntu hier]. = Links = * [http://www.hbci-zka.de/links.htm FinTS] {de} * [http://www.libchipcard.de/installhelp/img0.html Chipkarte einrichten] {de} * [http://www.matrica.de/service/faq5.html Kartenleser unter Moneyplex] {de} ## * [:AqBanking:] ## * [http://www2.aquamaniac.de/sites/cyberjack/handbuch.php Anleitung von Martin Preuss für Kartenleser von Reiner SCT] {de} * [http://www2.aquamaniac.de/sites/cyberjack/index.php Anleitung von Martin Preuss für Kartenleser von Reiner SCT] {de} * [sourceforge:pcsc-ctapi:Projektseite pcsc-ctapi-wrapper] {en} * [:Finanzverwaltung:] {Übersicht} Übersichtsartikel # tag: Hardware, Büro, Chipkarte