ubuntuusers.de

Hinweis: Dies ist ein statischer Snapshot unseres Wikis vom 25. März 2013 und kann daher nicht bearbeitet werden. Der aktuelle Artikel ist unter wiki.ubuntuusers.de zu finden.

HBCI Kartenleser

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Finanzverwaltung/gnucash_logo.png HBCI (Homebanking Computer Interface), inzwischen auch als FinTS bekannt, ist ein offener Standard für den Bereich Electronic Banking und Kundenselbstbedienung und gehört derzeit zu den sichersten Verfahren für 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 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 Moneyplex {de} sowie Starmoney {de} (unter Linux mittels Wine nutzbar) benutzen die CT-API-Schnittstelle, um Kartenleser anzusprechen und benötigen daher libchipcard nicht.

Getestete Kartenleser

Grundinstallation

Folgende Pakete werden benötigt [1]:

vor 12.04

  • aqbanking-tools (universe )

  • libaqbanking20 (universe )

  • libaqbanking-data (universe )

  • libaqofxconnect4 (universe )

  • libaqhbci13 (universe )

  • libchipcardc2 (universe )

  • libchipcard-data (universe)

  • libchipcard-tools (universe)

  • libchipcardd0 (universe )

  • libchipcard-libgwenhywfar47-plugins (universe)

  • libqbanking5 (universe, für KDE/QT Programme )

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install aqbanking-tools libaqbanking20 libaqbanking-data libaqofxconnect4 libaqhbci13 libchipcardc2 libchipcard-data libchipcard-tools libchipcardd0 libchipcard-libgwenhywfar47-plugins libqbanking5 

sudo aptitude install aqbanking-tools libaqbanking20 libaqbanking-data libaqofxconnect4 libaqhbci13 libchipcardc2 libchipcard-data libchipcard-tools libchipcardd0 libchipcard-libgwenhywfar47-plugins libqbanking5 

ab 12.04

Hinweis:

ACHTUNG: Etwaige Fehlermeldungen, dass für die Installation der Pakete andere Pakete entfernt werden müssen, können bzw. sollten ignoriert werden.,

  • aqbanking-tools (universe )

  • libaqbanking33 (universe )

  • libaqbanking-data (universe )

  • libaqofxconnect7 (universe )

  • libaqhbci20 (universe )

  • libchipcard-data (universe)

  • libchipcard-tools (universe)

  • libchipcard-libgwenhywfar60-plugins (universe )

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install aqbanking-tools libaqbanking33 libaqbanking-data libaqofxconnect7 libaqhbci20 libchipcard-data libchipcard-tools libchipcard-libgwenhywfar60-plugins 

sudo aptitude install aqbanking-tools libaqbanking33 libaqbanking-data libaqofxconnect7 libaqhbci20 libchipcard-data libchipcard-tools libchipcard-libgwenhywfar60-plugins 

Für KDE:

Paketliste zum Kopieren:

sudo apt-get install libchipcard-tools libchipcard-libgwenhywfar47-plugins libchipcard-data libchipcardd0 libchipcard-ctapi0 libchipcardc2 qbankmanager  libaqbanking20-plugins libaqbanking20-plugins-qt libaqbanking20 aqbanking-tools libqbanking5 libaqbanking-plugins-libgwenhywfar47 libaqbanking-data 

sudo aptitude install libchipcard-tools libchipcard-libgwenhywfar47-plugins libchipcard-data libchipcardd0 libchipcard-ctapi0 libchipcardc2 qbankmanager  libaqbanking20-plugins libaqbanking20-plugins-qt libaqbanking20 aqbanking-tools libqbanking5 libaqbanking-plugins-libgwenhywfar47 libaqbanking-data 

  • aqbanking-tools (universe)

  • libaqbanking29 (universe)

  • libaqofxconnect5 (universe )

  • libaqhbci17 (universe )

  • libchipcardc2 (universe)

  • libchipcard-libgwenhywfar47-plugins (universe)

  • libaqbanking29-plugins-qt (universe, für KDE/QT Programme)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install aqbanking-tools libaqbanking29 libaqofxconnect5 libaqhbci17 libchipcardc2 libchipcard-libgwenhywfar47-plugins libaqbanking29-plugins-qt 

sudo aptitude install aqbanking-tools libaqbanking29 libaqofxconnect5 libaqhbci17 libchipcardc2 libchipcard-libgwenhywfar47-plugins libaqbanking29-plugins-qt 

Die übrigen Abhängigkeiten werden automatisch aufgelöst.

Graphische Benutzeroberflächen GUI

Für GNOME:

Zur Zeit gibt es kein Frontend in den Quellen.

Für KDE:

Paketliste zum Kopieren:

sudo apt-get install libchipcard-tools libchipcard-libgwenhywfar47-plugins libchipcard-data  libchipcard-ctapi0 libchipcardc2 qbankmanager  libaqbanking29-plugins libaqbanking29-plugins-qt libaqbanking29 aqbanking-tools libqbanking5 libaqbanking-plugins-libgwenhywfar47 libaqbanking-data 

sudo aptitude install libchipcard-tools libchipcard-libgwenhywfar47-plugins libchipcard-data  libchipcard-ctapi0 libchipcardc2 qbankmanager  libaqbanking29-plugins libaqbanking29-plugins-qt libaqbanking29 aqbanking-tools libqbanking5 libaqbanking-plugins-libgwenhywfar47 libaqbanking-data 

Chipcard Daemon

Der chipcard-daemon wird in der Regel als Benutzer chipcard der Gruppe chipcard gestartet. Alle Benutzer, die einen HBCI-Leser benutzen wollen, müssen also der Gruppe chipcard angehören. Beides muss angelegt werden. Dazu benutzt man entweder die grafischen Tools der jeweiligen Oberfläche [8] (Systemverwaltung) oder auf der Kommandozeile:

sudo adduser $USER chipcard 

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:

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:

  • libtowitoko2 (universe )

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install libtowitoko2 

sudo aptitude install libtowitoko2 

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 von libchipcard 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)

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 herunterladen {de} und installieren [6].

Hinweis!

Fremdpakete können das System gefährden.

Es muss jeweils die passende "CT API"-Version heruntergeladen und installiert [6] werden, z.B.:

  • libctapi-cyberjack2_*-1ubuntu8.04_i386.deb - für Lucid Lynx 8.04 32bit

  • libctapi-cyberjack2_*-1ubuntu8.04_amd64.deb - für Lucid Lynx 8.04 32bit

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

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):

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:

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 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 Datei fxcyberjack starten.

Es bietet eine GUI zur Analyse und Überprüfung für die Einrichtung des Kartenlesers mit Lösungsvorschlägen bei Problemen.

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:

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:

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. Qbankmanager 0.9.41 arbeitet nicht mit libchipcard2 zusammen. Für KMyMoney reicht die Version aus den Quellen, aber es muss diese (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.

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:

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:

sudo chipcardd --pidfile /var/run/chipcardd.pid 

PC/SC-Treiber

Für viele USB-Kartenleser (Übersicht {en}) lassen sich aus den Quellen Treiber nachinstallieren, um den Kartenleser über die PC/SC-Schnittstelle anzusprechen.

Folgende Pakete werden benötigt [1]:

vor 12.04

  • pcscd (universe)

  • pcsc-tools (universe)

  • libpcsclite (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install pcscd pcsc-tools libpcsclite 

sudo aptitude install pcscd pcsc-tools libpcsclite 

ab 12.04

  • pcscd (universe)

  • pcsc-tools (universe)

  • libpcsclite1 (universe)

Wiki/Vorlagen/Installbutton/button.png mit apturl

Paketliste zum Kopieren:

sudo apt-get install pcscd pcsc-tools libpcsclite1 

sudo aptitude install pcscd pcsc-tools libpcsclite1 

Anstatt pcsc-tools, wird über das Software-Center das Programm "Gscriptor" installiert, funktioniert trotzdem. Nach der Installation PC neu starten.

Ein Test offenbart, ob der Kartenleser erkannt wurde:

pcsc_scan 

Um mit dem Kartenleser arbeiten zu können, kann als normaler Benutzer eingegeben werden:

pcscd 

Soll der Daemon automatisch gestartet werden, so muss in /etc/init.d/pcscd der Eintrag 'exit 0' entfernt oder in einen Kommentar umgewandelt werden (Getestet in Maverick).

KOBIL EMV CAP - SecOVID Reader III

Zusätzlich zum PCSC-Treiber wird nur ein "libccid" Paket (zur Zeit Version libccid_1.4.5-1) benötigt. In der Regel ist das Paket schon installiert, wenn nicht gibt es das Paket auf der Herstellerseite.

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 herunterladen {de} und installieren [6].

Hinweis!

Fremdpakete können das System gefährden.

Installation des Wrappers

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

Hinweis!

Fremdpakete können das System gefährden.

Auf der Projektseite gibt es die 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.

Selber kompilieren

Die neueste Version 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.

ubuntuusers.local › WikiHBCI Kartenleser