From a Linux machine, I can connect to a MySQL server in SQuirreL SQL
Client Version 3.9.1 with mysql-connector-java-8.0.13.jar.
But when I try to connect SQuirreL SQL Client Version 4.6.0 with
mysql-connector-java-5.1.40.jar I get the following error. What is
causing it?
Unexpected Error occurred attempting to open an SQL connection.
class javax.net.ssl.SSLHandshakeException: No appropriate protocol
(protocol is disabled or cipher suites are inappropriate)
javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol
is disabled or cipher suites are inappropriate)
at
java.base/sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:170)
at
java.base/sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:103)
at
java.base/sun.security.ssl.TransportContext.kickstart(TransportContext.java:245)
at
java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:409)
at
java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:388)
at
com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:149)
at com.mysql.jdbc.MysqlIO.negotiateSSLConnection(MysqlIO.java:4898)
at
com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1226)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2253)
at
com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2284)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2083)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:806)
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(NativeConstructorAccessorImpl.java:62)
at
java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at
java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:410)
at
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:328)
at
net.sourceforge.squirrel_sql.fw.sql.SQLConnector.getSqlConnection(SQLConnector.java:58)
at
net.sourceforge.squirrel_sql.fw.sql.SQLDriverManager.getConnection(SQLDriverManager.java:110)
at
net.sourceforge.squirrel_sql.client.mainframe.action.openconnection.OpenConnectionCommand.executeConnect(OpenConnectionCommand.java:155)
at
net.sourceforge.squirrel_sql.client.mainframe.action.openconnection.OpenConnectionCommand.lambda$execute$0(OpenConnectionCommand.java:89)
at
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
After some googling, I read about the disabled TLS cypher suites in Java
11+ and edited java.security:
security.overridePropertiesFile=false
#true
But that did not help.
Al
|