【问题标题】:Mysql 8.0.11 with Hibernate and C3P0: How do I disable connecting through SSL?带有 Hibernate 和 C3P0 的 Mysql 8.0.11:如何禁用通过 SSL 连接?
【发布时间】:2018-10-05 22:55:27
【问题描述】:

我有一个包含以下组件的 Karaf 程序:

  1. 卡拉夫 4.0.7;
  2. 休眠 4.3.7;
  3. Mysql JDBC 连接器 5.1.27;
  4. C3P0 0.9.5.

我刚刚建立了一个新的开发环境,我正在使用 Mysql 8.0.11(最近才发布)。我已经在本地将我的 Mysql 连接器升级到 5.1.46,因此它与 Mysql 8 兼容,并且大部分都可以使用。但是,我在我的 Karaf 控制台中收到了一些关于 SSL 的警告:

2018 年 4 月 25 日星期三 09:28:29 CEST 警告:不建议在没有服务器身份验证的情况下建立 SSL 连接。根据 MySQL 5.5.45+、5.6.26+ 和 5.7.6+ 的要求,如果未设置显式选项,则默认情况下必须建立 SSL 连接。为了符合不使用 SSL 的现有应用程序,verifyServerCertificate 属性设置为“false”。您需要通过设置 useSSL=false 来显式禁用 SSL,或者设置 useSSL=true 并为服务器证书验证提供信任库。

我想在本地禁用 SSL,但是将&useSSL=false 添加到连接字符串末尾的建议建议不起作用。这是我的连接字符串:

hibernate.connection.url=jdbc:mysql://localhost:3306/dbname?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&requireSSL=false

我做错了什么?

【问题讨论】:

    标签: mysql hibernate ssl c3p0 karaf


    【解决方案1】:

    在遇到MySql & Hibernate SSL Connection 之后,我发现在这种情况下不应该像使用 Tomcat webapp.xml 文件那样将 useSSL 和 requireSSL 属性添加到 jdbc url 中(正如我最初认为的那样工作),而是作为单独的 hibernate.connection.useSSLhibernate.connection.requireSSL 属性添加。

    用法:

    hibernate.connection.useSSL=false
    hibernate.connection.requireSSL=false
    

    在 karaf 中将这两行添加到我的 hibernate.properties 文件中删除了警告。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-16
      • 2011-02-01
      • 2011-02-21
      • 2015-02-09
      • 2017-12-01
      • 2014-06-17
      • 2013-03-06
      相关资源
      最近更新 更多