CCID Chipkartenleser unter Linux
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“.
Inhaltsverzeichnis
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.
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.
- ifdVendorID
- ifdProductID
- 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.
Produkt-ID
Im zweiten Bereich ifdProductID wird die Produkt-ID eingetragen.
Bezeichnung
Im dritten Bereich ifdFriendlyName wird ein eindeutiger Name für das Gerät eingetragen.
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:
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.