Diese Anleitung wurde entwickelt mit großer Unterstützung von @josefine;
ohne ihre wertvollen Hinweise und Tipps wäre die Lösung niemals entstanden. Danke dafür!
Hibiscus ist eine Open-Source – Homebanking-Anwendung entsprechend dem deutschen FinTS-Standard. Als Plattform dient die freie Laufzeit-Umgebung Jamaica für Java-Anwendungen, die in Form von Plug-ins implementiert werden können.
1. Installation Java
Für Jamaica wird eine vorinstallierte Java-Umgebung erwartet; dies wird geprüft mit:
$ java -version
Ein Ergebnis ähnlich diesem
$ java -version
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=gasp
openjdk version "19.0.2" 2023-01-17
OpenJDK Runtime Environment (build 19.0.2+7)
OpenJDK 64-Bit Server VM (build 19.0.2+7, mixed mode)
zeigt, dass eine Java-Umgebung (in diesem Fall 64-Bit) installiert ist und kann genutzt werden kann. Ist Java nicht installiert, kann dies mit dem Suchbegriff jre-openjdk über die PAMAC-Paketverwaltung erledigt werden.
2. Installation Jameica
Aktuelle Versionen von Jameica gibt es neben Windows, OS X und OpenBSD eben auch für Linux. Neben 64 Bit werden auch noch ältere 32 Bit und ARM-Systeme unterstützt.
Download Jamaica von Willuhn.de
Nach Auswahl des dem lokalen System entsprechenden Logos die Anleitungen
$ sudo unzip "/mnt/Daten/jameica-linux64-#.##.#.zip" -d /opt $ cd /opt/jameica $ ./jameica.sh # Jameica starten
3. Installation Hibiscus und Datenverzeichnisse
Siehe Anleitung „Installiere Hibiscus“ und „Bank-Zugang einrichten“
Hinweise zu den genutzen Datenverzeichnissen und – falls gewünscht – einem individuellen Datenverzeichnis für Konten-Einstellungen, Buchungen, Überweisungen bzw. Überweisungs-Vormerkungen:
Hibiscus nutzt diese Verzeichnisse:
- Programmverzeichnis, z.B. /opt/jameica
hier werden grundsätzlich keine Benutzerdaten (Konten, Einstellungen, Umsätze etc) gespeichert - Benutzerverzeichnis, z.B. /mnt/Daten/…Banking
Abweichendes Benutzerverzeichnis statt /home/BenutzerNsme/.jameica definieren; Quelle
Benutzerdaten werden so im Verzeichnis /mnt/Daten/…Banking/.jameica“ gespeichert.
Kontrolle: Es darf kein Verzeichnis /home/BenutzerName/.jameica entstehen
4. Installationen für Kartenleser
Genutzt wird ein Kartenlesers (hier: REINER TANjackBluetooth (Datenblatt)).
Hinweis: Trotz des Namens …Bluetooth funktioniert der Kartenleser unter LINUX nicht per Bluetooth, jedoch per USB-Kopplung; hierfür sind folgende Pakete zu installieren bzw. zu konfigurieren:
- — ccid installierenCODE:
sudo pacman -S ccid Pakete (1) ccid-1.5.2-1 Gesamtgröße des Downloads: 0,08 MiB Gesamtgröße der installierten Pakete: 0,24 MiB :: Post-transaction-Hooks werden gestartet … (1/2) Reloading device manager configuration... (2/2) Arming ConditionNeedsUpdate...
- — pcsc-tools installierenCODE:
sudo pacman -S pcsc-tools Pakete (3) glib-perl-1.329.3-3 pcsc-perl-1.4.14-13 pcsc-tools-1.6.0-1 Gesamtgröße des Downloads: 0,45 MiB Gesamtgröße der installierten Pakete: 1,28 MiB ... Optionale Abhängigkeiten für pcsc-tools perl-gtk3: gscriptor :: Post-transaction-Hooks werden gestartet … (1/2) Arming ConditionNeedsUpdate... (2/2) Warn about old perl modules
- pcsd startenCODE:
$ sudo systemctl start pcscd $ systemctl status pcscd ● pcscd.service - PC/SC Smart Card Daemon Loaded: loaded (/usr/lib/systemd/system/pcscd.service; indirect; preset: disabled) Active: active (running) ...
$ systemctl status pcscd ○ pcscd.service - PC/SC Smart Card Daemon Loaded: loaded (/usr/lib/systemd/system/pcscd.service; indirect; preset: disabled) Active: inactive (dead) TriggeredBy: ○ pcscd.socket Docs: man:pcscd(8) $ sudo systemctl start pcscd $ systemctl status pcscd ● pcscd.service - PC/SC Smart Card Daemon Loaded: loaded (/usr/lib/systemd/system/pcscd.service; indirect; preset: disabled) Active: active (running) ...
- Prüfung: Nach dieser Installation soll existiertenCODE:
/usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist (als Verweis auf /etc/libccid_Info.plist
- Konfigurationsdatei erweitern; Quelle
Original-Version vorher sichern! CODE:
$ cp /etc/libccid_Info.plist /home/meinName/SICHERlibccid_Info.plis
- Daten des Kartenlesers ermitteln:CODE:
$ lsusb Bus 004 Device 005: ID 0c4b:0520 Reiner SCT Kartensysteme GmbH tanJack BT n1h5a Hersteller-ID (ifdVendorID): 0c4b Produkt-ID (ifdProductID): 0520 Bezeichnung (ifdFriendlyName): Reiner SCT Kartensysteme GmbH tanJack BT n1h5a
- Datei /etc/libccid_Info.plist editieren und hinzufügen (mit Präfix 0x (Kennzeichen Hexadezimalzahl)):CODE:
<key>ifdVendorID</key> # vorhanden <array> # vorhanden <string>0x0c4b</string> # neue Zeile! <key>ifdProductID</key> # vorhanden <array> # vorhanden <string>0x0520</string> # neue Zeile! <key>ifdFriendlyName</key> # vorhanden <array> # vorhanden <string>Reiner SCT Kartensysteme GmbH tanJack BT n1h5a</string> # neue Zeile!
- pcscd dauerhaft startenCODE:
$ systemctl status pcscd ○ pcscd.service - PC/SC Smart Card Daemon Loaded: loaded (/usr/lib/systemd/system/pcscd.service; indirect; preset: disabled) Active: inactive (dead) TriggeredBy: ○ pcscd.socket Docs: man:pcscd(8) $ sudo systemctl enable --now pcscd # Dienst dauerhaft aktivieren und starten Created symlink /etc/systemd/system/sockets.target.wants/pcscd.socket → /usr/lib/systemd/system/pcscd.socket.
- NeustartCODE:
$ systemctl status pcscd ● pcscd.service - PC/SC Smart Card Daemon Loaded: loaded (/usr/lib/systemd/system/pcscd.service; indirect; preset: disabled) Active: active (running) since ..
- Automatisches Abschalten des pcsc-Dienstes deaktivieren, Quelle
Original-Version vorher sichern!CODE:
-
cp /lib/systemd/system/pcscd.service /home/meinName/SICHERpcscd.service
Datei /lib/systemd/system/pcscd.service editieren!CODE:
$ sudo systemctl daemon-reload # Änderung aktivieren $ systemctl status pcscd ○ pcscd.service - PC/SC Smart Card Daemon Loaded: loaded (/usr/lib/systemd/system/pcscd.service; indirect; preset: disabled) $ sudo systemctl start pcscd # Dienst starten $ systemctl status pcscd ● pcscd.service - PC/SC Smart Card Daemon Loaded: loaded (/usr/lib/systemd/system/pcscd.service; indirect; preset: disabled) Active: active (running) since ...
- NEUSTARTCODE:
$ systemctl status pcscd ○ pcscd.service - PC/SC Smart Card Daemon Loaded: loaded (/usr/lib/systemd/system/pcscd.service; indirect; preset: disabled) Active: active (running) since ...
5. Erkennung des Kartenlesers testen und in Hibiscus definieren
- Erkennung des Kartenlesers testen:CODE:
ALLES AUSWÄHLEN$ lsusb # Leser mit Karte vorher anschließen Bus 004 Device 002: ID 058f:9540 Alcor Micro Corp. AU9540 Smartcard Reader Bus 004 Device 003: ID 0c4b:0520 Reiner SCT Kartensysteme GmbH tanJack BT n1h5a $ pcsc_scan Using reader plug'n play mechanism Scanning present readers... 0: REINER SCT tanJack Bluetooth (0017471450) 00 00 1: Alcor Micro AU9540 01 00 Tue Mar 7 16:20:04 2023 Reader 0: REINER SCT tanJack Bluetooth (0017471450) 00 00 Event number: 0 Card state: Card inserted, ATR: 3B FF 11 00 FF 81 31 FE 95 80 F9 D2 76 00 00 25 54 44 01 00 83 00 00 00 A0 ATR: 3B FF 11 00 FF 81 31 FE 95 80 F9 D2 76 00 00 25 54 44 01 00 83 00 00 00 A0 + TS = 3B --> Direct Convention + T0 = FF, Y(1): 1111, K: 15 (historical bytes) TA(1) = 11 --> Fi=372, Di=1, 372 cycles/ETU 10752 bits/s at 4 MHz, fMax for Fi = 5 MHz => 13440 bits/s TB(1) = 00 --> VPP is not electrically connected TC(1) = FF --> Extra guard time: 255 (special value) TD(1) = 81 --> Y(i+1) = 1000, Protocol T = 1 ----- TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1 ----- TA(3) = FE --> IFSC: 254 TB(3) = 95 --> Block Waiting Integer: 9 - Character Waiting Integer: 5 + Historical bytes: 80 F9 D2 76 00 00 25 54 44 01 00 83 00 00 00 Category indicator byte: 80 (compact TLV data object) Tag: F, len: 9 (application identifier) Application identifier: D2 76 00 00 25 54 44 01 00 Tag: 8, len: 3 (status indicator) LCS (life card cycle): 00 (No information given) SW: 0000 (Error not defined by ISO 7816) + TCK = A0 (correct checksum) Possibly identified card (using /usr/share/pcsc/smartcard_list.txt): 3B FF 11 00 FF 81 31 FE 95 80 F9 D2 76 00 00 25 54 44 01 00 83 00 00 00 A0 GiroCard Haspa Hamburger Sparkasse (Bank) https://www.haspa.de/privatkunden/ihr-online-banking/unser-angebot/haspa-digital-services-96198/ Reader 1: Alcor Micro AU9540 01 00 Event number: 0 Card state: Card removed,
- Maßgebend sind die Daten für
Reader 0: REINER SCT tanJack Bluetooth (0017471450) 00 00
nicht die für
Reader 1: - Falls die PC-Hardware außer dem TANjack noch einen anderen Kartenleser hat (siehe oben pcsc_scan -> Alcor Micro) sollte der von Hibiscus zu nutzende Leser in der Anwendung definiert werden; dies ist gleichzeitig auch ein Test, ob Hibiscus den Kartenleser richtig erkennt:
- In Hibiscus für jedes aktive Konto:
Bank-Zugänge > ChipTAN > Auswahlbox „Identifier des PC/SC-Kartenlesers“
einstellen auf REINER (REINER SCT tanJack Bluetooth…)
- In Hibiscus für jedes aktive Konto:
- Eine Überweisung mit Hbiscus und dem USB-Kartenleser testen …
Noch keine Reaktion