# SSL Verbindung zu externer DB



## OnDemand (27. Jun 2021)

Guten Morgen,

ich versuche mich grad daran eine Verbindung zu einem externen DB Server aufzubauen.

Berechtigungen stimmen, die IP ist dem User freigegeben. Wenn ich meinen String wie folgt aufbaue und verbinde bekomme ich eine HandShake Exception, wenn ich jedoch ?useSSL=true an den String hänge klappt es. Kann mir das jemand erklären? Ich lade kein Zertifikat oder sowas, also was genau macht ?useSSL=true baut das eine SSL Verbindung auf? (Aber ohne, dass ich ein Zertifikat nutze, kann ich mir das nicht vorstellen) In der Mysql Doku steht "Server authentication via server certificate verification is enabled when the Connector/J connection property verifyServerCertificate is true (which is the default setting when useSSL=true)." Also doch eine SSL Verbindung? 

Mein String:

```
datasource.url=jdbc:mysql://blabla.de:3306/databasexy?useSSL=true
```


----------



## LimDul (27. Jun 2021)

__





						MySQL Verbindungen mit SSL verschlüsseln – Thomas-Krenn-Wiki
					

Dieser Artikel erklärt wie ein MySQL Client eine verschlüsselte Verbindung zu einem MySQL Server aufbauen kann. In der Standardkonfiguration ist eine Clientverbindung unverschlüsselt, was z.B. bei einer Verbindung über das Internet unerwünscht ist, da Daten am Weg abgehört werden könnten.




					www.thomas-krenn.com
				





> Es gibt folgende Möglichkeiten bei der Rechtevergabe für Benutzer in Bezug auf SSL:
> 
> 
> *REQUIRE X509*: ein beliebiges gültiges SSL Client Zertifikat kann verwendet werden
> ...


Das letzte wird dann der Fall sein, der Server verlangt, dass sich der User per SSL anmeldet, Client Zertifikat nicht erforderlich.


----------



## Jw456 (27. Jun 2021)

Bei deinen ganzen Sicherheit Fragen (letzter Thread) wieso jetzt ein zugriff aus der ferne direkt auf die DB mit JDBC?

Ist das zu Admin zweken oder auch später für den User?


----------



## Jw456 (27. Jun 2021)

PS für eine User verbindung würde ich immer ein Backend benutzen und ihn nie direckt auf der DB arbeiten lassen.


----------



## OnDemand (27. Jun 2021)

Danke, die Einstelungen sehe ich in PhpMyAdmin. Da ist aber "SSL requrire none" wenn ich Require SSL aktivieren PMA, bekomme ich keine Verbindung 


Jw456 hat gesagt.:


> Bei deinen ganzen Sicherheit Fragen wieso jetzt ein zugriff aus der ferne direkt auf die DB mit JDBC?


Möchte SSL Verbindungen besser verstehen und nicht immer über PMA auf die DB gehen sondern über meine IDE/Client. Diese Verbindung ist zwar nur von meiner festen IP möglich, aber ohne SSL könnte jemand "mitlesen" das möchte ich vermeiden.


----------



## Jw456 (27. Jun 2021)

Die Frage bezog sich mehr auf das Thema, wenn du ein Klient schreibst den dann vielleicht viele User benutzen und die dann mit deinen Account auf der Db sind.


Nutzt nur du es, ist schon ok mit normaler SSL direkt ohne backend auf die DB zuzugreifen. SSL in deinem Lokalen Lan sollte reichen.


----------

