启用useSSL = true时MariaDB Communications链接失败

时间:2018-11-25 09:39:52

标签: mysql ssl mariadb

我在将SSL激活到MariaDB时遇到问题。 我用自签名证书设置了MariaDB。

    MariaDB [(none)]> SHOW VARIABLES LIKE '%ssl%';
+---------------------+--------------------------------+
| Variable_name       | Value                          |
+---------------------+--------------------------------+
| have_openssl        | NO                             |
| have_ssl            | YES                            |
| ssl_ca              | /etc/mysql/ssl/ca-cert.pem     |
| ssl_capath          |                                |
| ssl_cert            | /etc/mysql/ssl/server-cert.pem |
| ssl_cipher          |                                |
| ssl_crl             |                                |
| ssl_crlpath         |                                |
| ssl_key             | /etc/mysql/ssl/server-key.pem  |
| version_ssl_library | YaSSL 2.4.4                    |
+---------------------+--------------------------------+

我使用开放源代码应用程序进行连接,该应用程序会创建jdbc网址:

database.driver.mysql.jdbcurl=jdbc\:mysql\://192.168.1.25\:3306/DATABASE?useUnicode\=Yes&characterEncoding\=ISO8859_1

连接正常。 我将自签名证书导入到客户端,并尝试通过设置&useSSL\=true来强制实施SSL。现在我得到了错误:

java.rmi.RemoteException: connection to database.jdbc:mysql://192.168.1.25:3306/DATABASE?useUnicode=Yes&characterEncoding=ISO8859_1&serverTimezone=Europe/Paris&useSSL=true failed; nested exception is: 
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

使用参数&useSSL\=true&verifyServerCertificate=false&requireSSL\=true可以再次建立连接。 如果我在MariaDB中检查“状态”,则显示:“ SSL:未使用”。

如何验证使用SSL加密的连接?我确认了客户端被询问是否要信任服务器证书。

如果我对选项和database.driver.mysql.jdbcurl=jdbc\:mysql\://192.168.1.25\:3306/DATABASE?useUnicode\=Yes&characterEncoding\=ISO8859_1&serverTimezone=Europe/Paris&useSSL\=true&verifyServerCertificate=false&requireSSL\=true有所了解 有用。但是,我假设在这种情况下不使用SSL。

对于数据库用户(名称为DATABASE),当前不需要SSL。我激活了测试所需的X509,但也失败了。

任何暗示错误来源的提示都非常感谢。

谢谢! 马库斯

0 个答案:

没有答案