是否可以使用带有 TLS 1.2 的 jTDS 连接到 Azure SQL Server?

use*_*742 3 java sql-server jtds azure azure-sql-managed-instance

我们的 Java 应用程序使用 jTDS 1.3.1 连接到 SQL Server,它工作正常,直到客户端尝试将数据库放在 Azure SQL 上。连接失败,出现以下异常:

java.sql.SQLException:原因:由于客户端 TLS 版本低于服务器允许的最低 TLS 版本,登录失败。

我检查了jTDS的文档,无论如何都看不到指定TLS版本。除了用 MS JDBC 驱动程序替换它之外,有人成功地解决了其他问题吗?

我无权访问 Azure SQL,因此无法测试将 TLS 版本降低到 1.0 是否有效。

use*_*742 5

偶然解决了这个问题。只需将“;ssl=request”附加到连接字符串即可。看起来默认情况下 SSL/TLS 是禁用的。有关 TLS 版本的错误消息具有误导性。希望这对将来的人有帮助。


Pro*_*ton 5

尝试将 .Net 应用程序连接到 Azure 托管实例中的 Azure SQL 数据库时遇到同样的问题。

我是这样解决的。

我以前的 JDBC URL 是这样的:

jdbc:jtds:sqlserver://my-example-instance.c656df8582985.database.windows.net:1433
Run Code Online (Sandbox Code Playgroud)

我只是添加ssl=require到 URL 的末尾,所以它变成了:

jdbc:jtds:sqlserver://my-example-instance.c656df8582985.database.windows.net:1433;ssl=require
Run Code Online (Sandbox Code Playgroud)