[Gelöst, Hibiscus] Zugriff auf H2 Datenbank -- Passwort?

JDBC Zugriff auf Hibiscus Datenbank per OpenOffice Base

Toastie

Betreff:

[Gelöst, Hibiscus] Zugriff auf H2 Datenbank -- Passwort?

 ·  Gepostet: 28.09.2008 - 14:09 Uhr  ·  #51871
Hi!

Würde gerne auf die Hibiscus Datenbank (H2) lesend mit Open Office Base zugreifen. (Grundsätzlich funktioniert der Zugriff wie hier beschrieben.)

Im Moment hänge ich am mir nicht bekannten Passwort für die Verschlüsselung der Datenbank. Die verschlüsselte Version des Passworts ist wohl in de.willuhn.jameica.hbci.rmi.HBCIDBService.properties zu finden. Kennt zufällig jemand eine einfache Möglichkeit das Passwort zu entschlüsseln?


Grüße
Toastie

hibiscus

Betreff:

Re: [Gelöst, Hibiscus] Zugriff auf H2 Datenbank -- Passwort?

 ·  Gepostet: 29.09.2008 - 10:40 Uhr  ·  #51888
Wenn es eine einfache Moeglichkeit gaebe, das Passwort zu entschluesseln, waer es in der Datei ja nicht sicher ;)

Du kannst aber ein Update auf die aktuellen Nightly-Builds von Jameica (1.7) und Hibiscus (1.9) machen (siehe auch http://hibiscus.berlios.de/dok…lds_nutzen)

Nach dem Update findest du im Menu unter "Plugins->Hibiscus->About" einen Button "Diagnose-Informationen". In dem werden dir die noetigen Informationen (JDBC-URL, Username und Passwort) angezeigt.

Toastie

Betreff:

Re: [Gelöst, Hibiscus] Zugriff auf H2 Datenbank -- Passwort?

 ·  Gepostet: 30.09.2008 - 00:22 Uhr  ·  #51933
Vielen Dank für deine schnelle Hilfe! :) Leider bekomme ich mit dem angezeigten Passwort keinen Zugriff. :(
Handelt es sich beim angezeigten Passwort um das file encryption Passwort oder um das Passwort für den User hibiscus?

Code
java -cp h2.jar org.h2.tools.ChangeFileEncryption -cipher "XTEA" -dir "/tmp/" -db "test" -decrypt 'xxxxxxxxxxxxxxxxxxxxxx'


Auf meinen Entschlüsselungsversuch (siehe oben) folgt folgende Fehlermeldung:
Encryption error in file /tmp/test.data.db [90049-78]

Laut H2 Doku:
The error with code 90049 is thrown when trying to open an encrypted database with the wrong file encryption password or algorithm.

hibiscus

Betreff:

Re: [Gelöst, Hibiscus] Zugriff auf H2 Datenbank -- Passwort?

 ·  Gepostet: 30.09.2008 - 01:01 Uhr  ·  #51934
Sowohl als auch. Laut H2-Doku muss das User- und Verschluesselungspasswort mit Leerzeichen getrennt angegeben werden.

Beispiel:

Angenommen, Jameica ist in /opt/jameica installiert, das Benutzerverzeichnis befindet sich in /home/username/.jameica und als Passwort wird im Diagnose-Dialog "asdfqwertz1234= asdfqwertz1234=" angezeigt:

Code

$> java -cp /opt/jameica/lib/h2/h2.jar org.h2.tools.Shell -url "jdbc:h2:/home/username/.jameica/hibiscus/h2db/hibiscus;CIPHER=XTEA" -user hibiscus -password "asdfqwertz1234= asdfqwertz1234="

Welcome to H2 Shell 1.0.74 (2008-06-21)
Exit with Ctrl+C
Commands are case insensitive; SQL statements end with ';'
help or ?      Display this help
list           Toggle result list mode
maxwidth       Set maximum column width (default is 100)
show           List all tables
describe       Describe a table
quit or exit   Close the connection and exit

sql> select id from konto;
ID
1
2
3
(3 rows, 79 ms)
sql> 

Toastie

Betreff:

Re: [Gelöst, Hibiscus] Zugriff auf H2 Datenbank -- Passwort?

 ·  Gepostet: 03.10.2008 - 14:45 Uhr  ·  #52067
Vielen Dank für deine Hilfe!

Manchmal sieht man den Wald vor lauter Bäumen nicht. Als ich mir das Passwort in den Diagnose-Informationen angeschaut habe, ist mir nicht aufgefallen, dass zwei mal das gleiche Passwort hintereinander steht. :?

Als Hinweis für Nachahmer, nachfolgend die URL der Datenquelle:
Code
jdbc:h2:/home/username/.jameica/hibiscus/h2db/hibiscus;CIPHER=XTEA;USER=hibiscus;PASSWORD=XxXxXxXxXxXx XxXxXxXxXxXx


Vorsicht, das Passwort steht hier im Klartext. :nono: Alternativ kann es auch per Dialogfeld abgefragt werden. Ob es generell eine gute Idee ist auf diese Weise auf die Daten zuzugreifen muss jeder für sich selbst entscheiden. :noidea: (Das Datenbankmodell befindet sich übrigens auf der Hibiscus Projektseite.)

jham

Betreff:

Re: [Gelöst, Hibiscus] Zugriff auf H2 Datenbank -- Passwort?

 ·  Gepostet: 26.02.2020 - 16:37 Uhr  ·  #154181
sorry für das Ausgraben des Topics, aber die Frage passt so gut rein :)

ich versuche mir den Zugriff auf die DB wie oben zu verschaffen, um einen Zeitstempel einer Transaktion zu korrigieren, aber:

Code
java -cp /usr/share/java/h2.jar org.h2.tools.Shell -url "jdbc:h2:/home/user/.jameica/hibiscus/h2db/hibiscus;CIPHER=XTEA" -user hibiscus -password "pw pw"
Exception in thread "main" org.h2.jdbc.JdbcSQLException: Encryption error in file null [90049-197]
  at org.h2.message.DbException.getJdbcSQLException(DbException.java:357)
  at org.h2.message.DbException.get(DbException.java:168)
  at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:183)
  at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:168)
  at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:100)
  at org.h2.engine.Database.getPageStore(Database.java:2538)
  at org.h2.engine.Database.open(Database.java:709)
  at org.h2.engine.Database.openDatabase(Database.java:286)
  at org.h2.engine.Database.<init>(Database.java:280)
  at org.h2.engine.Engine.openSession(Engine.java:66)
  at org.h2.engine.Engine.openSession(Engine.java:179)
  at org.h2.engine.Engine.createSessionAndValidate(Engine.java:157)
  at org.h2.engine.Engine.createSession(Engine.java:140)
  at org.h2.engine.Engine.createSession(Engine.java:28)
  at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:351)
  at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:124)
  at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:103)
  at org.h2.Driver.connect(Driver.java:69)
  at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
  at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:228)
  at org.h2.tools.Shell.runTool(Shell.java:148)
  at org.h2.tools.Shell.main(Shell.java:81)
Caused by: java.lang.IllegalStateException: Store header is corrupt: nio:/home/user/.jameica/hibiscus/h2db/hibiscus.mv.db [1.4.197/6]
  at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:871)
  at org.h2.mvstore.MVStore.readStoreHeader(MVStore.java:597)
  at org.h2.mvstore.MVStore.<init>(MVStore.java:361)
  at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2934)
  at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:155)
  ... 18 more


DBVisualizer kann sie auch nicht öffnen. Jameica/Hibiscus jedoch öffnet die DB ohne in den Logs zu meckern. Jemand eine Idee, was ich tun kann um mich mit der DB zu verbinden?

hibiscus

Betreff:

Re: [Gelöst, Hibiscus] Zugriff auf H2 Datenbank -- Passwort?

 ·  Gepostet: 27.02.2020 - 09:32 Uhr  ·  #154191

jham

Betreff:

Re: [Gelöst, Hibiscus] Zugriff auf H2 Datenbank -- Passwort?

 ·  Gepostet: 29.02.2020 - 22:11 Uhr  ·  #154214
Ohje, danke, dein Hinweis hat mich auf die Idee gebracht, dass h2db nicht das Klartextpasswort von jameica erwartet. Dann habe ich den Diagnose-Dialog wahrgenommen. Mit dem Passwort hat es dann gut geklappt.

h512ds5b

Betreff:

Re: [Gelöst, Hibiscus] Zugriff auf H2 Datenbank -- Passwort?

 ·  Gepostet: 24.02.2023 - 16:46 Uhr  ·  #166008
Ich versuche aktuell auch auf die Datenbank zuzugreifen, erhalte jedoch
Code
Encryption error in file "C:/temp/db/hibiscus.h2.db.mv.db" [90049-214].

Laut http://www.h2database.com/java…ON_ERROR_1 handelt es sich um
Zitat
"wrong file encryption password or algorithm."


Als Aufruf nutze ich
Code
java -cp h2-2.1.214.jar org.h2.tools.Shell -url "jdbc:h2:c:\temp\db\hibiscus.h2.db;CIPHER=XTEA" -user hibiscus -password "<pw>"

Wenn ich mit dem Aufruf eine neue Datenbank erstelle, kann ich darauf ohne Probleme zugreifen. Ändere ich Encryption oder User Passwort für den Zugriff auf die neue DB, kommen auch die richtigen Fehlercodes (90049 bzw. 28000).

Was mache ich falsch bei Zugriff auf die Hibiscus DB?

hibiscus

Betreff:

Re: [Gelöst, Hibiscus] Zugriff auf H2 Datenbank -- Passwort?

 ·  Gepostet: 24.02.2023 - 16:49 Uhr  ·  #166009
H2 in Version 2.x ist nicht mehr abwärtskompatibel zu der in Jameica verwendeten H2-Version 1.4-199. Verwende die "lib/h2/h2-1.4.199.jar" aus Jameica.