Java 如何在将带有Hibernate的Vaadin应用程序连接到Azure上的MariaDB时使用SSL加密

Java 如何在将带有Hibernate的Vaadin应用程序连接到Azure上的MariaDB时使用SSL加密,java,hibernate,azure,ssl,mariadb,Java,Hibernate,Azure,Ssl,Mariadb,我目前正在使用Vaadin和Hibernate开发一个Java8应用程序,我正在尝试将其迁移到Azure进行测试。 到目前为止,一切都很顺利,只有一件事例外: 当我在Azure上的MariaDB中激活“需要SSL”选项时,我无法再连接: 原因:java.sql.SQLException:需要SSL连接。请指定SSL选项并重试。 不幸的是,我不是自己编写这个应用程序的,我对Vaadin、Hibernate甚至Java都不太熟悉,也不太熟悉如何与它们建立ssl或db连接。因此我需要一些帮助: 这是S

我目前正在使用Vaadin和Hibernate开发一个Java8应用程序,我正在尝试将其迁移到Azure进行测试。 到目前为止,一切都很顺利,只有一件事例外:
当我在Azure上的MariaDB中激活“需要SSL”选项时,我无法再连接:

原因:java.sql.SQLException:需要SSL连接。请指定SSL选项并重试。

不幸的是,我不是自己编写这个应用程序的,我对Vaadin、Hibernate甚至Java都不太熟悉,也不太熟悉如何与它们建立ssl或db连接。
因此我需要一些帮助:

这是Servlet.java文件中的JDBC连接字符串,据我所知,db init发生在这里:

Connection con = DriverManager.getConnection("jdbc:mysql://<username>.mariadb.database.azure.com:3306/<db>?autoReconnect=true", "<username>", "<password>");

要使用SSL进行连接,我必须更改哪些内容?

您可以尝试:

<property name="hibernate.hikari.dataSource.url">jdbc:mysql://dbname.mariadb.database.azure.com:3306/db?useSSL=true</property>
jdbc:mysql://dbname.mariadb.database.azure.com:3306/db?useSSL=true
据我所知,
hibernate.cfg.xml
中的属性最终将用于生成整个连接字符串。因此,如果useSSL没有直接属性,您可以手动将其添加到url

<property name="hibernate.hikari.dataSource.url">jdbc:mysql://dbname.mariadb.database.azure.com:3306/db?useSSL=true</property>