Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSL-Verbindung zu mysql Dokumentation #50

Open
oli-ver opened this issue Jul 7, 2019 · 39 comments
Open

SSL-Verbindung zu mysql Dokumentation #50

oli-ver opened this issue Jul 7, 2019 · 39 comments

Comments

@oli-ver
Copy link

oli-ver commented Jul 7, 2019

Bei der Nutzung einer SSL-Verschlüsselung bei der MySQL-Datenbank ist folgender Hinweis in der Dokumentation aktuell nicht zutreffend (oder ich mache etwas falsch):

Die manuelle Erstellung sowie der Import des Server-Zertifikats sollte auf den Arbeitsplätzen jedoch nicht nötig sein, da Jameica einen eigenen Keystore verwendet und den Benutzer automatisch bei Bedarf zum Import des Zertifikats auffordert.

Es gab weder eine Aufforderung zum Import des Zertifikates noch hat es überhaupt funktioniert, den Jameica-Zertifikats-Store zu nutzen. Am Ende war die einzige Möglichkeit das CA-Zertifikat in meinen cacerts-Keystore der Java-Installation zu importieren.

Folgende Einstellungen habe ich genutzt:

database.driver=de.jost_net.JVerein.server.DBSupportMySqlImpl
database.driver.mysql.jdbcurl=jdbc\:mysql\://meine-ip\:3306/jverein?useUnicode\=Yes&characterEncoding\=ISO8859_1&useSSL=true&requireSSL=true&verifyServerCertificate=true
database.driver.mysql.username=nutzer
database.driver.mysql.password=passwort
database.driver.mysql.scriptprefix=mysql-

Hat jemand da ähnliche Erfahrungen gemacht?
Es wäre schon gut, wenn der Zertifikats-Store von Jameica genutzt werden könnte, ansonsten gehe ich davon aus, dass ich den CA-Import nach jedem Java-Update wiederholen muss.

@oli-ver oli-ver changed the title SS;+ SSL-Verbindung zu mysql Dokumentation Jul 7, 2019
@oli-ver
Copy link
Author

oli-ver commented Oct 12, 2019

@jverein Ich schließe das mal wegen Inaktivität. Funktioniert bei mir erstmal.

@oli-ver oli-ver closed this as completed Oct 12, 2019
@anApeThrummingAViola
Copy link

Ich habe mir zwei volle Tage an diesem Problem den Kopf eingerannt. JVerein mit remote SQL funktioniert tadellos, SSL dazu und ich bekomme nur

[ERROR][main][de.jost_net.JVerein.JVereinPlugin.call] Fehler beim Methodenaufruf
java.rmi.RemoteException: connection to database.jdbc:mysql://<ip>:3306/<db>?useUnicode=Yes&characterEncoding=ISO8859_1&useSSL=true failed; nested exception is: 
	com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

ich habe

  • in den hier angegebenen SQL-konfigurationsvariablen auch mal Unterstriche verwendet
  • zum Erstellen der Zertifikate zur Abwechslung auch mal diese Anleitung befolgt
  • der mysql-Konfiguration auch ein ssl-key=server-key.pem mitgegeben, sonst loggt der Server nämlich dass er SSL nicht starten kann
  • das Debian-mySQL mit seiner obskuren SSL-Bibliothek durch eine "frische" Mariadb mit OpenSSL ersetzt
  • alle Zertifikate aus dem Jameica-Keystore in den CA-Ordner des Servers hineinexportiert, denn dort findet sich mehr als eins (zwei mal CA und ein Maschinenzertifikat, vermultich ist letzteres gemeint, aber man weiss ja nie)...

...

Jameica 2.8.6
jverein 2.8.18
Debian 10.5
mariadb Ver 15.1 Distrib 10.5.4-MariaDB
have_openssl | YES
have_ssl | YES
version_ssl_library | OpenSSL 1.1.1d

@oli-ver
Copy link
Author

oli-ver commented Aug 7, 2020

Hast du versucht die erstellten Zertifikate in den Trust Store der Java Installation zu importieren? Das war bei mir die einzige Möglichkeit die Verbindung herzustellen.

@anApeThrummingAViola
Copy link

habe ich jetzt auch versucht, und zwar sowohl das "Jameica Certificate", "Issued for (mein Rechnername)"; als auch das "Jameica CA"-Zertifikat , mit Befehlen

sudo keytool -import -trustcacerts -alias eindeutigerName -file ~/Zertifikat.crt -keystore /etc/ssl/java/cacerts
Leider keine Verbesserung.

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Du hast aber schon den Trust Store der von jverein Client genutzten JRE genommen oder? Nur um deinen Aufbau zu verstehen: Führst du JVerein und mariadb auf dem gleichen Rechner aus?

@anApeThrummingAViola
Copy link

anApeThrummingAViola commented Aug 8, 2020

Jameica läuft lokal, auf einem Ubuntu-System, die MariaDB auf einem virtuellen Debian-Server den ich über das Internet erreiche, deswegen mein Bedarf an Verschlüsselung.

Auf dem Rechner mit jverein scheint es nur eine JRE zu geben, nämlich OpenJDK 8 in der Version 7u211-2.6.17-0ubuntu0.1. 8u265-b01-0ubuntu2~16.04

Jedenfalls gibt es nur ein /etc/ssl/certs/java/cacerts, wohin aus der JRE verlinkt wird. Dort habe ich die Zertifikate hinzugefügt.

Ich habe jetzt mal versucht vom Client mit openssl zum Server zu verbinden und bekomme auf

~/Downloads/openssl-1.1.1g$ LD_LIBRARY_PATH=. apps/openssl s_client -CApath ~/servercerts -starttls mysql -connect unseredomain.de:3306

ein

Verify return code: 21 (unable to verify the first certificate)

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Scheinbar wird die Zertifikats-Kette nicht erfolgreich validiert. Kannst du auf der Server-Seite mal schauen, ob die Zertifikate gültig sind?

openssl verify -CAfile ca.pem server-cert.pem client-cert.pem

Bei mir läuft mysql in einem Docker Container, der nach folgender Anleitung erzeugt wurde: https://techsparx.com/software-development/docker/damp/mysql-ssl-connection.html

Vielleicht hilft das dargestellte Skript, um nochmal zu schauen, ob die Mysql-Konfiguration korrekt ist.

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Hab das mit openssl auch mal getestet. Es funktioniert bei mir, wenn ich das ca-Zertifikat explizit angebe:

s_client -CAfile certs/ca.pem -starttls mysql -connect myserver.de:3306

Vorher hab ich mit CApath getestet und einen Ordner genutzt, in dem sowohl das CA-Zertifikat, als auch Server und Client-Zertifikate lagen. Dabei ist der gleiche Fehler aufgetreten:

Verify return code: 21 (unable to verify the first certificate)

Muss natürlich bei dir nicht auch so sein, aber ich dachte das ist vielleicht trotzdem eine wichtige Information für die Validierung der Verbindung.

@anApeThrummingAViola
Copy link

anApeThrummingAViola commented Aug 8, 2020

server-cert.pem: OK
client-cert.pem: OK

den s_client parameter habe ich geändert wie von dir vorgeschlagen, danach scheint s_client zu funktionieren (zumindest bis "read R_BLOCK", danach Fehler 104)

Auf JVerein scheint das leider keine Auswirkungen zu haben.

edit: ich kuck mir nochmal das Dokument betr. den Docker an, ob ich dort was entnehmen kann

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Trotzdem seltsam, dass openssl noch Fehlermeldungen anzeigt. Bei mir sieht das so aus:

# openssl s_client -CAfile certs/ca.pem -starttls mysql -connect myserver.de:3306

CONNECTED(00000005)
depth=1 C = DE, ST = Bundesland, L = Stadt, CN = mydomain-CA
verify return:1
depth=0 C = DE, ST = Bundesland, L = Stadt, CN = mydomain-mysql-server
verify return:1
---
Certificate chain
 0 s:C = DE, ST = Bundesland, L = Stadt, CN = mydomain-mysql-server
   i:C = DE, ST = Bundesland, L = Stadt, CN = mydomain-CA
---
Server certificate
-----BEGIN CERTIFICATE-----
[...]
-----END CERTIFICATE-----
subject=C = DE, ST = Bundesland, L = Stadt, CN = mydomain-mysql-server

issuer=C = DE, ST = Bundesland, L = Stadt, CN = mydomain-CA

---
No client certificate CA names sent
Client Certificate Types: RSA sign, DSA sign
Peer signing digest: MD5-SHA1
Peer signature type: RSA
Server Temp Key: DH, 2048 bits
---
SSL handshake has read 1826 bytes and written 702 bytes
Verification: OK
---
New, SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: [...]
    Session-ID-ctx: 
    Master-Key: [...]
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1596879850
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---
read:errno=0

Wenn ich mich mit der MySQL Workbench verbinde, funktioniert es auch mit SSL (vielleicht noch ein guter Check, um JVerein und Java Probleme auszuschließen):

grafik

grafik

@Mechtilde
Copy link

Mechtilde commented Aug 8, 2020 via email

@anApeThrummingAViola
Copy link

anApeThrummingAViola commented Aug 8, 2020

Ich habe sicherheitshalber nochmal die Zertifikate neu erstellt mit Hilfe des Skriptes das Du verlinkt hast.

ca.pem und client-cert.pem habe ich sowohl in den JRE-Truststore als auch per Jameica-GUI importiert. Alle Zertifikate die ich vorher hinzugefügt hatte, habe ich gelöscht.

Ich habe aus Jameica das "Jameica Certificate (MeinRechnername)" und die "Jameica CA" exportiert, jeweils mit 'openssl x509' nach PEM konvertiert, auf dem Server in einen Ordner gelegt und MySQL/Mariadb den Ordner als "ssl_capath" bekannt gemacht. Weiter habe ich darauf geachtet dass alle Ordner und Verzeichnisse dem Benutzer "mysql" gehören und dieser R/W Zugriff hat.

Ich kann mich jetzt mit mysql vom client zum Server verbinden:
mysql -v -h meinserver.de --port=3306 -u meinuser -p --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem

ein "status;" in der mySQL Konsole zeigt, dass die Verbindung verschlüsselt ist.

JVerein besteht leider auf seiner jdbc4.CommunicationsException

@anApeThrummingAViola
Copy link

Mechthilde, da hatte ich mich verlesen, die 7er-Version ist nicht mehr installiert ("rc" in dkpg -l)

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Ok, damit sollte ja die mysql-Konfiguration als Fehlerquelle ausgeschlossen sein.

Das neu generierte ca-Zertifikat hast du in Ubuntu wieder dem trust store hinzugefügt? Das war ja bei mir das Problem: Der Zertifikats-Store von Jameica war bei mir nicht ausschlaggebend. Deine openjdk-Installation verweist per Symlink auf die cacert Datei /etc/ssl/certs/java/cacerts richtig? Ich rätsle immernoch darüber, ob dein Client vielleicht nur das Server CA-Zertifikat nicht akzeptiert, weil im Zusammenhang mit der cacerts-Datei etwas nicht stimmt. In einer älteren Ubuntu-Installation von mir, sieht das wie folgt aus im Verzeichnis /usr/lib/jvm:

ls /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/ -ahl
[...]
lrwxrwxrwx 1 root root   27 Aug  3 04:56 cacerts -> /etc/ssl/certs/java/cacerts
[...]

Das sollte bei dir bei normaler Installation über den Package Manager natürlich auch so aussehen.

@anApeThrummingAViola
Copy link

genau so ist es:

`lrwxrwxrwx 1 root root 27 Aug 3 04:56 /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts -> /etc/ssl/certs/java/cacerts

keytool -list -keystore /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/cacerts
db.ca, Aug 8, 2020, trustedCertEntry,
Certificate fingerprint (SHA1): ...
db.client-cert, Aug 8, 2020, trustedCertEntry,
Certificate fingerprint (SHA1): ...
`

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Und es gibt keine anderen Java-Installationen, die auf dem System aktiv sind?

# ls -ahl /etc/alternatives/java
lrwxrwxrwx 1 root root 46 Mar 14 09:01 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

# java -version

openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~16.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)

@anApeThrummingAViola
Copy link

nope

$ ls -ahl /etc/alternatives/java
lrwxrwxrwx 1 root root 46 Nov 25  2019 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
$ java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (build 1.8.0_265-8u265-b01-0ubuntu2~16.04-b01)
OpenJDK 64-Bit Server VM (build 25.265-b01, mixed mode)

@anApeThrummingAViola
Copy link

Wie ist denn der Name deiner Konfigurationsdatei, bei mir de.jost_net.JVerein.rmi.JVereinDBService.properties

@anApeThrummingAViola
Copy link

Ich habe mal im jverein-forum noch einen Thread aufgemacht, vielleicht hat ja dort noch jemand 'ne Idee.

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Ich hab das gerade mal neu auf meinem Mac eingerichtet (wollte ich eh mal machen). Ich habe gerade keinen Zugriff auf den Vereins-Rechner, wo das eigentlich läuft.

Im Programmverzeichnis liegt jetzt folgende Datei:

cfg/de.jost_net.JVerein.rmi.JVereinDBService.properties
Hier noch der Inhalt:

database.driver=de.jost_net.JVerein.server.DBSupportMySqlImpl
database.driver.mysql.jdbcurl=jdbc\:mysql\://myhost.de\:3406/dbname?useUnicode\=Yes&characterEncoding\=ISO8859_1&useSSL\=true
database.driver.mysql.username=myuser
database.driver.mysql.password=mypw
database.driver.mysql.scriptprefix=mysql-

Die Zertifikate hab ich dann erstmal nur in Jameica hinzugefügt (ca.pem und client-cert.pem).
Folgende Fehlermeldung bekomme ich dann beim Start:

[Sat Aug 08 14:41:41 CEST 2020][ERROR][main][de.jost_net.JVerein.JVereinPlugin.call] Fehler beim Methodenaufruf
java.rmi.RemoteException: connection to database.jdbc:mysql://meinserver.de:3406/dbname?useUnicode=Yes&characterEncoding=ISO8859_1&useSSL=true failed; nested exception is: 
	com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 205 milliseconds ago.  The last packet sent successfully to the server was 197 milliseconds ago.
	at de.willuhn.datasource.db.DBServiceImpl.createConnection(DBServiceImpl.java:181)
	at de.willuhn.datasource.db.DBServiceImpl.getConnection(DBServiceImpl.java:124)
	at de.jost_net.JVerein.server.JVereinDBServiceImpl.checkConsistency(JVereinDBServiceImpl.java:114)
	at de.jost_net.JVerein.JVereinPlugin$1.call(JVereinPlugin.java:112)
	at de.jost_net.JVerein.JVereinPlugin.call(JVereinPlugin.java:209)
	at de.jost_net.JVerein.JVereinPlugin.init(JVereinPlugin.java:105)
	at de.willuhn.jameica.plugin.PluginLoader.initPlugin(PluginLoader.java:395)
	at de.willuhn.jameica.plugin.PluginLoader.init(PluginLoader.java:240)
	at de.willuhn.jameica.services.PluginService.init(PluginService.java:39)
	at de.willuhn.boot.BootLoader.resolve(BootLoader.java:139)
	at de.willuhn.boot.BootLoader.resolve(BootLoader.java:119)
	at de.willuhn.boot.BootLoader.getBootable(BootLoader.java:70)
	at de.willuhn.jameica.system.Application.init(Application.java:103)
	at de.willuhn.jameica.system.Application.newInstance(Application.java:87)
	at de.willuhn.jameica.Main.main(Main.java:75)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 205 milliseconds ago.  The last packet sent successfully to the server was 197 milliseconds ago.
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)
	at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:201)
	at com.mysql.jdbc.MysqlIO.negotiateSSLConnection(MysqlIO.java:4914)
	at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1663)
	at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1224)
	at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2199)
	at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2230)
	at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2025)
	at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:778)
	at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
	at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
	at de.willuhn.datasource.db.MyDriver.connect(MyDriver.java:85)
	at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql/java.sql.DriverManager.getConnection(Unknown Source)
	at de.willuhn.datasource.db.DBServiceImpl.createConnection(DBServiceImpl.java:175)
	... 14 more
Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
	at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)
	at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)
	at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)
	at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(Unknown Source)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(Unknown Source)
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(Unknown Source)
	at java.base/sun.security.ssl.SSLHandshake.consume(Unknown Source)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(Unknown Source)
	at java.base/sun.security.ssl.HandshakeContext.dispatch(Unknown Source)
	at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source)
	at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketImpl.decode(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source)
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
	at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:186)
	... 33 more
Caused by: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
	at com.mysql.jdbc.ExportControlled$X509TrustManagerWrapper.checkServerTrusted(ExportControlled.java:302)
	at java.base/sun.security.ssl.AbstractTrustManagerWrapper.checkServerTrusted(Unknown Source)
	... 45 more
Caused by: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors
	at java.base/sun.security.provider.certpath.PKIXCertPathValidator.validate(Unknown Source)
	at java.base/sun.security.provider.certpath.PKIXCertPathValidator.engineValidate(Unknown Source)
	at java.base/java.security.cert.CertPathValidator.validate(Unknown Source)
	at com.mysql.jdbc.ExportControlled$X509TrustManagerWrapper.checkServerTrusted(ExportControlled.java:295)
	... 46 more

Bei mir ist das entscheidende wieder: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Path does not chain with any of the trust anchors. Also trotz Hinzufügen des ca-Zertifikats in den Jameica Keystore wird es nicht akzeptiert.

Im Log steht auch welche Java-Version genutzt wird (ich hatte bei mir eigentlich mit meiner Amazon Corretto 8 Installation gerechnet, aber scheinbar wird unter Mac OSX eine AdoptOpenJDK mit Jameica ausgeliefert (schadet nicht auch mal bei dir nachzusehen, ob da etwas unerwartetes drinsteht). Ich hab eine ganze Weile gebraucht das herauszufinden, weil ich überall im System nach der JRE gesucht hab 🤣:

[Sat Aug 08 14:58:46 CEST 2020][INFO][main][de.willuhn.jameica.services.SysinfoService.init] os.arch          : x86_64
[Sat Aug 08 14:58:46 CEST 2020][INFO][main][de.willuhn.jameica.services.SysinfoService.init] os.name          : Mac OS X
[Sat Aug 08 14:58:46 CEST 2020][INFO][main][de.willuhn.jameica.services.SysinfoService.init] os.version       : 10.15.6
[Sat Aug 08 14:58:46 CEST 2020][INFO][main][de.willuhn.jameica.services.SysinfoService.init] java.version     : 11.0.5
[Sat Aug 08 14:58:46 CEST 2020][INFO][main][de.willuhn.jameica.services.SysinfoService.init] java.vendor      : AdoptOpenJDK
[Sat Aug 08 14:58:46 CEST 2020][INFO][main][de.willuhn.jameica.services.SysinfoService.init] java.runtime.name: OpenJDK Runtime Environment
[Sat Aug 08 14:58:46 CEST 2020][INFO][main][de.willuhn.jameica.services.SysinfoService.init] java.vm.name     : OpenJDK 64-Bit Server VM

Also dort das Zertifikat importiert (in meinem Fall in /Applications/jameica.app/jre-macos64/Contents/Home/lib/security/cacerts:

sudo keytool -import -trustcacerts -alias myname -file ca.pem -keystore cacerts

Und schon geht's:

[Sat Aug 08 15:15:45 CEST 2020][INFO][main][de.jost_net.JVerein.server.JVereinDBServiceImpl.<init>] loading database driver: de.jost_net.JVerein.server.DBSupportMySqlImpl
[Sat Aug 08 15:15:45 CEST 2020][INFO][main][de.willuhn.jameica.system.ServiceFactory.install]   starting service
[Sat Aug 08 15:15:45 CEST 2020][INFO][main][de.willuhn.jameica.gui.SplashScreen$3.run]  starting service database ...
[Sat Aug 08 15:15:45 CEST 2020][INFO][main][de.willuhn.datasource.db.DBServiceImpl.start] starting db service
[Sat Aug 08 15:15:45 CEST 2020][INFO][main][de.willuhn.jameica.plugin.PluginLoader.initPlugin] register plugin extensions
[Sat Aug 08 15:15:45 CEST 2020][INFO][main][de.willuhn.jameica.gui.SplashScreen$3.run]  register plugin extensions ...
[Sat Aug 08 15:15:45 CEST 2020][INFO][main][de.willuhn.jameica.plugin.PluginLoader.initPlugin] plugin jverein initialized successfully

Bei mir war es also genau das gleiche Verhalten, wie das letzte Mal (da hab ich das unter Windows eingerichtet).
Ich mach jetzt auch mal diese Issue wieder auf, in der Hoffnung, dass jemand bei @jverein 👋 anschließend die Doku entsprechend aktualisiert.

@oli-ver oli-ver reopened this Aug 8, 2020
@anApeThrummingAViola
Copy link

anApeThrummingAViola commented Aug 8, 2020

im jameica.log finde ich das erwartete

 java.home: /usr/lib/jvm/java-8-openjdk-amd64/jre
 java.runtime.version: 1.8.0_265-8u265-b01-0ubuntu2~16.04-b01

eine SSLHandshakeException habe ich nicht, wohl aber ein

Caused by: javax.net.ssl.SSLException: Received fatal alert: protocol_version

Ich have versucht in MariaDB zusätzlich das veraltete TLS1.0 zu erlauben, aber auch das hat nichts gebracht.

tls_version=TLSv1.0,TLSv1.1,TLSv1.2,TLSv1.3

edit: auch ein Einschränken der Versionen mit tls_version=TLSv1.2,TLSv1.3 bringt nichts.

@anApeThrummingAViola
Copy link

Ich habe neue Fehlermeldungen kennengelernt :)

wenn ich die tls_version in MariaDB explizit auf nur TLSv1.0 oder nur TLSv1.1 runterzwinge, kriege ich keinen Fehler "protocol_version" mehr, sondern einen Fehler "internal_error".

wenn ich zusätzlich die "ssl_cipher" auf den gleichen Wert setze, gibt es für 1.1 ein

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: SSL Connection required, but not supported by server.

ansonsten auch einen "internal error"

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Ok, aber dann wissen wir jetzt zumindest schonmal recht genau, was das Problem ist: Irgendwas mit dem TLS-Versionen zwischen Client und Server passt wohl gerade nicht.

In meinem Fall unterstützt die integrierte OpenJDK-11 TLSv1.3. Bei Java 8 ist das noch TLSv.1.1 und TLSv1.2 lt. Oracle.
Ich würde also Mariadb mit tls_version=TLSv1.2,TLSv1.3 starten, ältere Versionen sollten nicht nötig sein. Gibt es im Datenbank-Log auf der mariadb-Seite Anhaltspunkte?

Meine Datenbank wird mit folgenden Parametern gestartet: --default-authentication-plugin=mysql_native_password --ssl --require-secure-transport

@anApeThrummingAViola
Copy link

Ok, für diese Einstellungen kriege ich im jameica-log das bekannte "protocol_version", auf dem Server in /var/log/mysql.error.log (so ich es denn aktiviere und mich nicht auf das maulfaule journalctl verlasse) gibt es ein

[Warning] Aborted connection 110 to db: 'unconnected' user: 'unauthenticated' host: '***.dynamic.kabel-deutschland.de' (This connection closed normally without authentication)

@anApeThrummingAViola
Copy link

Ok, das könnte ein Fortschritt sein: wenn ich sowohl tls_version als auch ssl_cipher explizit auf TLSv1.1 runterzwinge, ändert sich die Fehlermeldung zu

2020-08-08 17:37:56 87 [Warning] Access denied for user '*'@'.dynamic.kabel-deutschland.de' (using password: YES)

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Jetzt sieht es eher nach einem "normalen" Authentifizier-Fehler aus. Ging es mit der Konfiguration in de.jost_net.JVerein.rmi.JVereinDBService.properties ohne SSL? Am User oder Passwort kann es nicht liegen? Den Inhalt meiner Config hatte ich oben gepostet.

@anApeThrummingAViola
Copy link

anApeThrummingAViola commented Aug 8, 2020

vorher konnte ich mich per mysql-client auf den Server einloggen, das geht plötzlich nicht mehr, egal ob mit oder ohne TLS-parametern...

ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1)

edit: das ist wohl "unable to get local issuer certificate". WUT? ich habe doch nichts neues erstellt seit vor 2h
edit: ich hatte mir beim rebasen im etckeeper-git ein Permission-Problem eingefahren x-p

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Dein zweites Edit versteh ich nicht. Meine mysql-Instanz ist ohne irgendwelche Besonderheiten konfiguriert. Außer den Zertifikaten gibt es wirklich nur die Start-Parameter --default-authentication-plugin=mysql_native_password --ssl --require-secure-transport. Das einzige Problem war, dass das CA-Zertifikat nicht akzeptiert wurde.

Der Docker-Container hat natürlich eine Standard-Konfiguration, die von deiner mariadb abweichen kann.
Was gibt denn SHOW VARIABLES LIKE '%ssl%'; bei dir zurück? Ich hab überall den Standard drin:

'have_openssl','YES'
'have_ssl','YES'
'ssl_ca','ca.pem'
'ssl_capath',''
'ssl_cert','server-cert.pem'
'ssl_cipher',''
'ssl_crl',''
'ssl_crlpath',''
'ssl_key','server-key.pem'

Die Defaults für die tls-Versionen sind bei mir niedriger, als ich vermutet hatte:

-- SHOW VARIABLES LIKE '%tls%'

'tls_version','TLSv1,TLSv1.1'

@anApeThrummingAViola
Copy link

anApeThrummingAViola commented Aug 8, 2020

Meine Settings sind fast identisch mit deinen, allerdings habe ich gemäß der Anleitung auf willuhn.de noch einen ssl_capath, um dort das Jameica-generierte Maschinenzertifikat und auch das Jameica-CA-Zertifikat abzulegen.

"etckeeper" ist nur ein Tool um mein Konfigurationsverzeichnis sauber zu halten.

Die Dateien in /etc/ssl müssen bei mir dem user "mysql" zugänglich sein, unter dem der Datenbank-Server läuft, sonst ende ich bei have_ssl DISABLED.

Aber irgendwas scheine ich verbockt zu haben seit vorhin, ich bekomme selbst lokal jetzt nur noch

mysql -v -h localhost --port=3306 -u dbname -p --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem
Enter password: 
ERROR 2026 (HY000): SSL connection error: unable to get local issuer certificate

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Benutz für die Zertifikate lieber absolute Pfade. Das sieht so aus als würde er die dateien jetzt irgendwie nicht auflösen können oder?

@anApeThrummingAViola
Copy link

mysql -v -h localhost --port=3306 -u jvtest -p --ssl-ca=/etc/mysql/ssl/ca.pem --ssl-cert=/etc/mysql/ssl/client-cert.pem --ssl-key=/etc/mysql/ssl/client-key.pem
Enter password: 
ERROR 2026 (HY000): SSL connection error: unable to get local issuer certificate

ich muss aufhören für heute sonst platzt mir noch 'ne Ader

Danke für deine überaus geduldige Hilfe

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Echt ärgerlich :) Ich hab damit auch echt viel Zeit verbracht am Anfang. Vielleicht die Tage nochmal ganz in Ruhe mit Standard-Konfiguration von Anfang an.

@oli-ver
Copy link
Author

oli-ver commented Aug 8, 2020

Ich hab das eben nochmal unter Ubuntu 20.04 Desktop ausprobiert. Frische Installation, lediglich openjdk-8-jdk und jameica wurde installiert. Die Installations-Schritte von der Client-Seite unterscheiden sich kaum von denen auf dem Mac. Die ca.pem muss in /etc/ssl/certs/java/cacerts importiert werden. Im Jameica Keystore hab ich ca.pem, server-cert.pem und client-cert.pem importiert. Die DB-Konfiguration wurde mit den schon besprochenen Einstellungen in de.jost_net.JVerein.rmi.JVereinDBService.propertiesabgelegt. Funktioniert. Im Log gab es nur ein paar Exceptions zu Logging-Problemen, die sich aber auf die Applikations-Funktion nicht auswirken.

Damit ist aus meiner Sicht nur die Konfiguration für mariadb ein Fragezeichen für die folgenden Tage. Die Client-Seite scheint relativ stabil konfigurierbar zu sein und verhält sich unter Windows, Mac OS und Ubuntu gleich.

@anApeThrummingAViola
Copy link

anApeThrummingAViola commented Aug 9, 2020

Ich habe nochmal alles haarklein nach Anleitung eingerichtet, und dann mit Wireshark Protokollfehler gesammelt, für verschieden Kryptoeinstellungen in MariaDB 10.5 mit OpenSSL

Zusammengefasst:

  1. es verabschiedet sich MariaDB mit dem SSL-Fehler "Protocol Version", wenn man sich nicht auf TLSv1.1 festlegt;
  2. Wenn man TLSv1.1 erzwingt, aber die Ciphers nicht anfasst, gibt es einen internal error von MariaDB/OpenSSL
  3. wenn man TLS v1.1 erzwingt UND die Ciphers auf die aus TLSv1.1 beschränkt, bietet MariaDB kein SSL an;
  4. Wenn man nicht die TLS-Version beschränkt, aber die Ciphers; und zwar auf das was (a) Jameica/Java in der Negotiation anbieten, und was sich auch mit MariaDB/OpenSSL restarten lässt, gibt es einen "Handshake error";
  5. Wenn man diese Ciphers wählt und TLSv1.2 erzwingt, gibt es wieder ein "Protocol Version";
  6. und wenn man die Ciphers wählt und TLSv1.1 erzwingt, gibt es wieder einen "Internal error".

Ich bin ja kein Krypto-Experte, aber ist es vielleicht möglich sein, dass Jameica unbedingt TLSv1.1 machen will, aber nur Elliptic-Curve-Ciphers drauf hat die eigentlich zur v1.2 oder später gehören (Liste s.u.)? (edit: nee da ist auch RSA dabei.)

Ich glaube es müssten sich mal die Jverein-Entwickler mit MariaDB auseinandersetzen (ist immerhin Standard in Debian), bzw. sich mit den MariaDB-Entwicklern kurzschließen, denn SO kompliziert sollte es definitiv nicht sein eine SSL-Verbindung zustande zu bringen.


defaults

Jameica:


TLSv1.1 Record Layer: Handshake Protocol: Client Hello
    Content Type: Handshake (22)
    Version: TLS 1.1 (0x0302)
    Length: 89
    Handshake Protocol: Client Hello
        Handshake Type: Client Hello (1)
        Length: 85
        Version: TLS 1.1 (0x0302)
        Random: 5f2ff6e66f4c8f78debed4e057ff843e23c64c7d285bc76e...
        Session ID Length: 0
        Cipher Suites Length: 22
        Cipher Suites (11 suites)
            Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
            Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
            Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
            Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
            Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
            Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
            Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
            Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
            Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
            Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
            Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
        Compression Methods Length: 1
        Compression Methods (1 method)
        Extensions Length: 22
        Extension: supported_groups (len=8)
        Extension: ec_point_formats (len=2)
        Extension: extended_master_secret (len=0)


**MariaDB:**
TLSv1.1 Record Layer: Alert (Level: Fatal, Description: Protocol Version)
    Content Type: Alert (21)
    Version: TLS 1.1 (0x0302)
    Length: 2
    Alert Message
        Level: Fatal (2)
        Description: **Protocol Version** (70)


tls_version=TLSv1.1

MariaDB:


MySQL Server Greeting
    Version: 5.5.5-10.5.4-MariaDB-1:10.5.4+maria~buster-log
    Server Capabilities: 0xfffe
        .... 1... .... .... = Switch to SSL after handshake: Set
    Authentication Plugin: mysql_native_password


**Jameica:**

Secure Sockets Layer
    TLSv1.2 Record Layer: Handshake Protocol: Client Hello
        Content Type: Handshake (22)
        Version: TLS 1.1 (0x0302)
        Length: 89
        Handshake Protocol: Client Hello
            Handshake Type: Client Hello (1)
            Version: TLS 1.1 (0x0302)
            Session ID Length: 0
            Cipher Suites Length: 22
            Cipher Suites (11 suites)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
                Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
                Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
                Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
                Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
                Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
                Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
                Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
                Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
                Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
            Compression Methods Length: 1
            Compression Methods (1 method)
            Extensions Length: 22
            Extension: supported_groups (len=8)
                Type: supported_groups (10)
                Length: 8
                Supported Groups List Length: 6
                Supported Groups (3 groups)
            Extension: ec_point_formats (len=2)
                Type: ec_point_formats (11)
                Length: 2
                EC point formats Length: 1
                Elliptic curves point formats (1)
                    EC point format: uncompressed (0)
            Extension: extended_master_secret (len=0)
                Type: extended_master_secret (23)
                Length: 0

**MariaDB**:

Secure Sockets Layer
    TLSv1.2 Record Layer: Alert (Level: Fatal, Description: Internal Error)
        Content Type: Alert (21)
        Version: TLS 1.2 (0x0303)
        Length: 2
        Alert Message
            Level: Fatal (2)
            Description: **Internal Error (80)**


tls_version = TLSv1.1
ssl_cipher = TLSv1.1

MariaDB


    Server Greeting
        Protocol: 10
        Version: 5.5.5-10.5.4-MariaDB-1:10.5.4+maria~buster-log
        Server Capabilities: 0xf7fe

            .... 0... .... .... = Switch to **SSL after handshake: Not set**


tls_version = TLSv1.1
ssl_cipher = TLSv1.1,TLSv1.2

Jameica:


TLSv1.2 Record Layer: Handshake Protocol: Client Hello
    Content Type: Handshake (22)
    Version: TLS 1.1 (0x0302)
    Length: 89
    Handshake Protocol: Client Hello
        Handshake Type: Client Hello (1)
        Length: 85
        Version: TLS 1.1 (0x0302)
        Random: 5f2ff814ce594d13d12b4eba80101fbd4951b64daaeb4858...
        Session ID Length: 0
        Cipher Suites Length: 22
        Cipher Suites (11 suites)
            Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
            Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
            Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
            Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
            Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
            Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
            Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
            Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
            Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
            Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
            Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
        Compression Methods Length: 1
        Compression Methods (1 method)
        Extensions Length: 22
        Extension: supported_groups (len=8)
        Extension: ec_point_formats (len=2)
        Extension: extended_master_secret (len=0)

**MariaDB:**

TLSv1.2 Record Layer: Alert (Level: Fatal, Description: Internal Error)
    Content Type: Alert (21)
    Version: TLS 1.2 (0x0303)
    Length: 2
    Alert Message
        Level: Fatal (2)
        Description: **Internal Error (80)**



tls_version = TLSv1.0, TLSv1.1, TLSv1.2
ssl_cipher = TLSv1.0, TLSv1.1, TLSv1.2

MariaDB: protocol_version


**ssl_cipher=TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:TLS_RSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:TLS_RSA_WITH_AES_128_CBC_SHA:TLS_EMPTY_RENEGOTIATION_INFO_SCSV

Jameica:**


Handshake Protocol: Client Hello
    Handshake Type: Client Hello (1)
    Length: 85
    Version: TLS 1.1 (0x0302)
    Random: 5f30001c0223ac3f5d0fcfa79c08b1648ba7e82289f43538...
    Session ID Length: 0
    Cipher Suites Length: 22
    Cipher Suites (11 suites)
        Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
        Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
        Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
        Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
        Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
        Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
        Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
        Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
        Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
        Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
        Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
    Compression Methods Length: 1
    Compression Methods (1 method)
    Extensions Length: 22
    Extension: supported_groups (len=8)
    Extension: ec_point_formats (len=2)
    Extension: extended_master_secret (len=0)


**MariaDB**:

Alert Message
    Level: Fatal (2)
    Description: **Handshake Failure (40)**

tls_version:TLSv1.2
ssl_cipher=TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:TLS_RSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:TLS_RSA_WITH_AES_128_CBC_SHA:TLS_EMPTY_RENEGOTIATION_INFO_SCSV

Jameica:


TLSv1.1 Record Layer: Handshake Protocol: Client Hello
    Content Type: Handshake (22)
    Version: TLS 1.1 (0x0302)
    Length: 89
    Handshake Protocol: Client Hello
        Handshake Type: Client Hello (1)
        Length: 85
        Version: TLS 1.1 (0x0302)
        Random: 5f30010cbd404579ee1d133d70e6ff77812fbcdd3dacecc0...
        Session ID Length: 0
        Cipher Suites Length: 22
        Cipher Suites (11 suites)
            Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
            Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
            Cipher Suite: TLS_RSA_WITH_AES_256_CBC_SHA (0x0035)
            Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA (0xc005)
            Cipher Suite: TLS_ECDH_RSA_WITH_AES_256_CBC_SHA (0xc00f)
            Cipher Suite: TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
            Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
            Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
            Cipher Suite: TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA (0xc004)
            Cipher Suite: TLS_ECDH_RSA_WITH_AES_128_CBC_SHA (0xc00e)
            Cipher Suite: TLS_EMPTY_RENEGOTIATION_INFO_SCSV (0x00ff)
        Compression Methods Length: 1
        Compression Methods (1 method)
        Extensions Length: 22
        Extension: supported_groups (len=8)
        Extension: ec_point_formats (len=2)
        Extension: extended_master_secret (len=0)

**MariaDB:**

Alert Message
    Level: Fatal (2)
    Description: **Protocol Version (70)**


tls_version:TLSv1.1
ssl_cipher=TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA:TLS_RSA_WITH_AES_256_CBC_SHA:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:TLS_RSA_WITH_AES_128_CBC_SHA:TLS_EMPTY_RENEGOTIATION_INFO_SCSV

MariaDB: Internal Error (80)

@anApeThrummingAViola
Copy link

aufpassen muss man auch, ob eventuell in .jameica/cfg noch eine weitere de.jost_net.JVerein.rmi.JVereinDBService.properties liegt, neben der in "cfg"

@anApeThrummingAViola
Copy link

Ich habe die Verbindung jetzt durch OpenVPN getunnelt. Beim Aufsetzen der Zertifikate und Schlüssel hilft 'easy-rsa'.

@oli-ver
Copy link
Author

oli-ver commented Aug 11, 2020

Ok also hat dann anschließend mit mariadb echt garnicht geklappt?

@jverein liest jemand hier mit?

Kann es sein, dass das jverein Team nur im Forum aktiv ist? Hab hier letztes mal leider auch keine Rückmeldung bekommen.

@Mechtilde
Copy link

Mechtilde commented Aug 11, 2020 via email

@anApeThrummingAViola
Copy link

Für mich war das jetzt deutlich einfacher mit OpenSSL zu lösen, aber wenn ich noch irgendwelche Infos liefern kann, gerne

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants