CCID Chipkartenleser unter Linux

Aus matrica wiki
Wechseln zu: Navigation, Suche

Diese Anleitung beschreibt, wie ein CCID-Chipkartenleser unter Linux hinzugefügt wird. Dazu wird der Chipkartenleser in den CCID-Treiber eingetragen.

Bei aktuellen Distributionen (ab Ubuntu 22.04, Suse Leap 15.5, Fedora 38) sind diese Ergänzungen nicht mehr nötig.

Die vorliegende Anleitung eignet sich für die Installation von TAN-Generatoren (tanJack USB / Bluetooth) sowie Chipkartenlesern (cyberJack RFID go, cyberJack RFID one, cyberJack RFID wave).

Andere Chipkartenleser (cyberJack RFID komfort, cyberJack RFID standard und cyberJack RFID secoder) werden nach dieser Anleitung installiert.

Wir empfehlen das automatische Abschalten des pcsc-Dienstes zu deaktivieren, damit der Chipkartenleser nicht „einschläft“.

Voraussetzungen

Auf Ihrem System müssen die Pakete „pcsc-lite“ sowie „libccid“ installiert sein. Sie können diese über eine Paketverwaltung (z.B. Synaptic oder Zypper) oder über die Kommandozeile installieren. Dabei werden Root-Rechte benötigt. Die Rechte erhält man mit sudo oder, wenn dies nicht funktioniert mit: su -l

Distribution pcsc-lite libccid
Debian, Ubuntu, Mint u.a. sudo apt install pcscd sudo apt install libccid
openSUSE sudo zypper install pcsc-ccid sudo zypper install libpcsclite1
Fedora sudo dnf install pcsc-lite -
Mageia Nur das Paket
„CCID Generic USB CCID smart card reader driver ([Version] 1.4.24, [Release] 1mga6, [Architektur x86_64]“
installieren. Dieses Paket ist bereits im ISO-Image bzw. auf der Mageia-DVD enthalten.

USB-Geräte anzeigen

Zunächst den Chipkartenleser an einem USB-Port anschließen.

Mit dem Tool lsusb kann man sich die am Computer angeschlossenen USB-Geräte anzeigen lassen. Dazu in einem Terminal-Fenster folgenden Befehl eingeben:

lsusb

In der Ausgabe wird der Chipkartenleser mit Hersteller-ID, Produkt-ID und Bezeichnung aufgeführt.

Ccid0.png

Konfigurationsdatei erweitern

Nun müssen die angezeigten Daten in die Konfigurationsdatei Info.plist eintragen. Die Datei kann abhängig vom System an unterschiedlicher Stelle liegen.

Distribution Verzeichnis der Datei
Debian, Ubuntu,
Mint
/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/
openSUSE /usr/lib64/readers/ifd-ccid.bundle/Contents/
Fedora /usr/lib64/pcsc/drivers/ifd-ccid.bundle/Contents/

Zur Sicherheit kann eine Kopie dieser Datei angelegt werden. Die Datei Info.plist in einem Text-Editor öffnen. Dazu sind gegebenenfalls Root-Rechte erforderlich.

Hinweis: Der Aufruf von Info.plist mit Hilfe eines grafischen Texteditors (z.B. "gnome-text-editor" oder "gedit") mit Root-Rechten sollte nur mit "sudo -H" erfolgen, sonst können unbeabsichtigte Rechteveränderungen im Home-Verzeichnis erfolgen.

Distribution Beispiel
Debian, Ubuntu sudo gnome-text-editor /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
Mint sudo xed /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist
openSUSE pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gedit /usr/lib64/readers/ifd-ccid.bundle/Contents/Info.plst
Fedora sudo gnome-text-editor /usr/lib64/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist

Tipp: Wenn Sie die Root-Rechte nicht haben und die Datei schon geändert haben, können Sie die Datei info.plist zunächst auch in einem lokalen Verzeichnis (beispielsweise Dokumente) als info_neu.plist speichern. Dann kopieren Sie mit sudo die neue Datei über die bisherige: sudo -H cp neue_Datei alte_Datei

Die Datei gliedert sich in drei Bereiche. Jeder Bereich besteht aus einer Liste von Einträgen.

  1. ifdVendorID
  2. ifdProductID
  3. ifdFriendlyName

Alle Einträge sind von sogenannten Tags umschlossen. Vor dem Wert steht das Präfix 0x, was den Wert als Hexadezimalzahl kennzeichnet.

<string> 0x Wert </string>

In jedem Bereich wird eine neue Zeile eingefügt. Wichtig ist, dass der neue Eintrag in jedem Bereich an derselben Stelle erfolgt. Am besten fügen Sie den Eintrag in jedem Bereich an erster Stelle hinzu.
(Es ist wichtig, dass die Anzahl der Einträge in allen drei Bereichen identisch bleibt. Dies ist nicht wirklich schwierig. Jedoch muss man sorgfältig arbeiten. )

Hersteller-ID

Im ersten Bereich ifdVendorID wird die Hersteller-ID eingetragen.

Ccid1.png

Produkt-ID

Im zweiten Bereich ifdProductID wird die Produkt-ID eingetragen.

Ccid2.png

Bezeichnung

Im dritten Bereich ifdFriendlyName wird ein eindeutiger Name für das Gerät eingetragen.

Ccid3.png

Anschließend die Datei info.plist speichern.

Neustart des pcsc Dämon

Um den pcsc-Dämon neu zu starten, wird folgender Befehl mit Root-Rechten in einem Terminal-Fenster eingegeben (unter openSUSE mit su als Root anmelden).

sudo killall /usr/sbin/pcscd; sudo /usr/sbin/pcscd --foreground --debug --apdu --color

Lassen Sie dieses Terminal-Fenster bitte geöffnet.

Chipkartenleser neu verbinden

Der Chipkartenleser wird nun aus dem USB-Port entfernt und danach wieder eingesteckt (ohne eingesteckte Karte). Jetzt sollte im Terminal-Fenster ein Log ausgegeben werden. Sobald man eine Chipkarte (HBCI-Karte, Banking-Card, EC-Karte) einlegt, sollte die ATR (eine lange Zeichenfolge bestehend aus Buchstaben und Zahlen) ausgegeben werden. Diese stellt sich wie folgt dar:

Card atr.png

Automatisches Abschalten des pcsc-Dienstes deaktivieren

Auch beim Einsatz eines CCID-Chipkartenlesers oder TAN-Generators sollte das automatische Abschalten des pcsc-Dienstes deaktiviert werden.

pcsc-Dienst bei Betriebssystem Neustart aktivieren

Beachten Sie auch diesen Hinweis.

Einstellungen in moneyplex

In den Einstellungen von moneyplex muss nun der Treiber für den Leser ausgewählt werden.