hibiscus-server in Docker und jameica desktop

org.kapott.hbci.exceptions.HBCI_Exception: unable to load passport data

 
leoc
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 5
Dabei seit: 05 / 2022
Betreff:

hibiscus-server in Docker und jameica desktop

 · 
Gepostet: 20.05.2022 - 18:02 Uhr  ·  #1
Moin, moin

ich versuche gerade den hibiscus-server in einem docker container zum Laufen zu bringen. Zwei Konten möchte ich konfigurieren einmal bei der DKB und einmal bei Comdirect. Dafür habe ich das hibiscus web admin UI verwendet. DKB hat nach einigen Versuchen über den ConsoleTANHandler wunderbar funktioniert. Bei Comdirect wird allerdings die Grafik nicht dargestellt und mir erscheint die Konfiguration eines XMLRPC Endpunktes gerade noch zu komplex.

Daher habe ich das hibiscus data verzeichnis (mit Konto-Passports und H2 DB) einfach meiner lokalen Jameica Installation via `-f` übergeben, in der Hoffnung, dass diese die Daten einfach lesen kann. Die DKB Konten und Transaktionen tauchen auch alle auf. Soweit so gut! Leider können die Bank Connections nicht gelesen werden, es wird mir folgender Fehler beim Versuch, die Bankverbindung zu öffnen, präsentiert:

Code

org.kapott.hbci.exceptions.HBCI_Exception: unable to load passport data
  at org.kapott.hbci.passport.storage.format.AESFormat.load(AESFormat.java:169)
  at org.kapott.hbci.passport.storage.PassportStorage.load(PassportStorage.java:121)
  at org.kapott.hbci.passport.storage.PassportStorage.load(PassportStorage.java:79)
  at org.kapott.hbci.passport.HBCIPassportPinTan.read(HBCIPassportPinTan.java:169)
  at org.kapott.hbci.passport.HBCIPassportPinTan.<init>(HBCIPassportPinTan.java:103)
  at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
  at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
  at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
  at org.kapott.hbci.passport.AbstractHBCIPassport.getInstance(AbstractHBCIPassport.java:714)
  at de.willuhn.jameica.hbci.passports.pintan.PinTanConfigFactory$1.load(PinTanConfigFactory.java:234)
  at de.willuhn.jameica.hbci.passports.pintan.server.PinTanConfigImpl.getPassport(PinTanConfigImpl.java:318)
  at de.willuhn.jameica.hbci.passports.pintan.server.PinTanConfigImpl.getURL(PinTanConfigImpl.java:211)
  at de.willuhn.jameica.hbci.passports.pintan.Controller.getURL(Controller.java:207)
  at de.willuhn.jameica.hbci.passports.pintan.Detail.bind(Detail.java:48)
  at de.willuhn.jameica.gui.GUI$5.run(GUI.java:714)
  at org.eclipse.swt.custom.BusyIndicator.showWhile(Unknown Source)
  at de.willuhn.jameica.gui.GUI$6.run(GUI.java:911)
  at org.eclipse.swt.widgets.Synchronizer.syncExec(Unknown Source)
  at org.eclipse.swt.widgets.Display.syncExec(Unknown Source)
  at de.willuhn.jameica.gui.GUI.startSync(GUI.java:907)
  at de.willuhn.jameica.gui.GUI.startView(GUI.java:597)
  at de.willuhn.jameica.gui.GUI.startView(GUI.java:532)
  at de.willuhn.jameica.hbci.gui.action.PassportDetail.handleAction(PassportDetail.java:43)
  at de.willuhn.jameica.hbci.gui.parts.PassportTree$1.handleAction(PassportTree.java:66)
  at de.willuhn.jameica.gui.parts.AbstractTablePart.open(AbstractTablePart.java:380)
  at de.willuhn.jameica.gui.parts.TreePart.handleDoubleClick(TreePart.java:815)
  at de.willuhn.jameica.gui.parts.TreePart$4.mouseDoubleClick(TreePart.java:281)
  at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
  at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
  at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
  at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
  at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
  at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
  at de.willuhn.jameica.gui.GUI.loop(GUI.java:928)
  at de.willuhn.jameica.gui.GUI.init(GUI.java:331)
  at de.willuhn.jameica.system.Application.init(Application.java:145)
  at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
  at de.willuhn.jameica.Main.main(Main.java:75)
Caused by: java.io.StreamCorruptedException: invalid stream header: 5BF27D3E
  at java.base/java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:963)
  at java.base/java.io.ObjectInputStream.<init>(ObjectInputStream.java:397)
  at org.kapott.hbci.passport.storage.format.AESFormat.load(AESFormat.java:151)
  ... 39 more


Kann es sein, dass irgendwelche Crypto-Schlüssel im Docker Container rumgammeln, die auf meinem Host-System nicht existieren, und ich deswegen die Bankverbindungen nicht auslesen kann?

Ich bin für jeden Tipp dankbar!
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10781
Dabei seit: 03 / 2005
Betreff:

Re: hibiscus-server in Docker und jameica desktop

 · 
Gepostet: 23.05.2022 - 08:18 Uhr  ·  #2
Du kannst nicht selektiv einzelne Ordner und Dateien aus dem Jameica-Benutzerordner ".jameica" kopieren. Dort drin liegen verschlüsselte Datenbanken, Wallets und Passport-Dateien, die nur mit den zugehörigen Passworten und Zertifikaten von Jameica gelesen werden. Kopiere immer den kompletten Ordner ".jameica" - nicht nur Teile davon.
leoc
Benutzer
Avatar
Geschlecht: keine Angabe
Beiträge: 5
Dabei seit: 05 / 2022
Betreff:

Re: hibiscus-server in Docker und jameica desktop

 · 
Gepostet: 23.05.2022 - 08:54 Uhr  ·  #3
Hey, danke für die schnelle Antwort!

Sorry, ich hab mich vielleicht nicht korrekt ausgedrückt. Ich habe nicht selektiv Dinge aus dem Ordner kopiert. Ich habe den gesamten config Ordner kopiert. Deshalb wundere ich mich ja.

Im Docker Container wird hibiscus-server nach /hibiscus-server entpackt und der Server wird via
Code
/hibiscus-server/jameicaserver.sh -p $PASSWORD -f /srv/hibiscus
gestartet.

Dieses Verzeichnis
Code
/srv/hibiscus
ist von meinem lokalen
Code
./srv-hibiscus
eingehangen. Daher habe ich dann auf dem Host (mit GUI) Jameica wie folgt gestartet:
Code
jameica -f ./srv-hibiscus


Eventuell ist das auch ein Rechteproblem, da im Docker-Container eine andere UID als auf dem Host benutzt wird und somit Schlüssel nicht richtig gelesen werden können... ich guck mir das

Gibt es damit zufällig schlechte Erfahrungen?
hibiscus
Benutzer
Avatar
Geschlecht: keine Angabe
Herkunft: Leipzig
Homepage: willuhn.de/
Beiträge: 10781
Dabei seit: 03 / 2005
Betreff:

Re: hibiscus-server in Docker und jameica desktop

 · 
Gepostet: 23.05.2022 - 09:00 Uhr  ·  #4
Ich habe das nie mit Docker getestet. Ich kann nicht beurteilen, ob das irgendwelche Einschränkungen gelten. Fehlende Dateirechte können jedenfalls ein Problem sein. Hibiscus speichert jedenfalls keine Daten ausserhalb von ".jameica".
Gewählte Zitate für Mehrfachzitierung:   0