Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Der JDBC-Parameter „verifyServerCertificate=false“ stellt eine Verbindung her, ohne dass ein Clientkeystore und ein Truststore erforderlich sind

Java kann definitiv eine SSL-Verbindung aufbauen, ohne dass ein Client die Zertifikatskette des Servers validiert.

Die Klassen, die die Verbindung herstellen (javax.net.ssl-Klassen), würden das unverifizierte Serverzertifikat normalerweise misstrauisch behandeln und den Handshake fehlschlagen lassen.

Aber sie bieten den Benutzern dieser Klassen eine Möglichkeit, tatsächlich zu sagen:"Es ist in Ordnung, wenn das Zertifikat des Servers nicht validiert wird, fahren Sie fort und stellen Sie die Verbindung her."

Das passiert, wenn Sie verifyServerCertificate=false sagen.

Die SSL-Verbindung ist aus kryptografischer Sicht vollkommen gültig, aber es ist keine authentifizierte Verbindung, da Sie keine Ahnung haben, woher das Serverzertifikat stammt.