ich renne mir jetzt drei volle Tage den Kopf daran ein, Jverein mit remote SQL über SSL an den Start zu bekommen.
Ich habe hier auf github schon einiges dazu geschrieben, fasse hier nochmal zusammen.
* Client: Ubuntu mit OpenJRE 8u265-b01-0ubuntu2~16.04
* Server: Debian 10.5 mit mariadb Ver 15.1 Distrib 10.5.4-MariaDB
* Jameica 2.8.6
* jverein 2.8.18
Die Zertifikate habe ich (letztendlich) mit Hilfe eines Skriptes erzeugt, das in dem Thread auf github verlinkt war, man findet es hier: techsparx.com
Anders als in der Anleitung willuhn.de:mysql-ssl musste ich der MySQL/MariaDB-Konfiguration noch eine Variable "ssl-key" bekanntmachen, da (laut SQL-Log) der Server sonst die Krypto nicht aktivieren kann.
Meine JVerein-Konfigurationsdatei ist so wie auf github beschrieben (mit der auf willuhn.de praktisch identisch, habe auch die zusätzlichen SSL-Parameter mal weggelassen, macht keinen Unterschied)
Danach kann mich jetzt mit dem mySQL-Kommandozeilentool vom Client zum Server verbinden,
Code: Alles auswählen
mysql -v -h meinserver.de --port=3306 -u meinuser -p --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem
Ich habe dann aus der Jameica-Gui sowohl das "Jameica Certificate (MeinRechnername)" als auch die "Jameica CA" exportiert, nach PEM konvertiert, in einem ca_path abgelegt und diesen ebenfalls dem Server bekannt gemacht.
In die Jameica-GUI importiert habe ich sowohl ca.pem, als auch client-certificate.pem.
Als das nichts geholfen hat habe ich sie auch noch dem "Java Truststore" hinzugefügt, nach der Anleitung auf github.
Leider bleibt eine Verbindung zu JVerein unmöglich. Die GUI sagt "Fehler beim Initialisieren der Datenbank", die auf "TRACE" gestellte LOG-Konsole liefert ein
Code: Alles auswählen
[Sat Aug 08 14:28:52 CEST 2020][ERROR][main][de.jost_net.JVerein.JVereinPlugin.call] Fehler beim Methodenaufruf
java.rmi.RemoteException: connection to database.jdbc:mysql://MeineIP:3306/MeineDBt?useUnicode=Yes&characterEncoding=ISO8859_1&useSSL=true&requireSSL=true&verifyServerCertificate=true failed; nested exception is:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Auf willuhn.de ist noch ein
Code: Alles auswählen
database.driver.mysql.jdbcdriver=org.mariadb.jdbc.Driver
"Hibiscus-Datenbank konnte nicht initialisiert werden, java.lang.ClassNotFoundException..."
vielliecht hat ja jemand noch 'ne Idee, sonst werde ich den Rest meines Urlaubs in der wunderbaren Welt von VPN-Verbindungen zwischen Windowsrechnern und Linux-Servern verbringen
Danke, Gruß, Stephan