【问题标题】:SQL Server Jdbc driver unable to connect to database using TLS1.2SQL Server Jdbc 驱动程序无法使用 TLS1.2 连接到数据库
【发布时间】:2021-01-29 08:06:03
【问题描述】:

我想从 Linux 实例使用 TLS1.2 连接到我的数据库实例,但我无法这样做。 我正在使用以下配置

  1. Java JDK:Amazon corretto openjdk 版本:“1.8.0_252”
  2. JDBC 驱动程序:Microsoft SQL 服务器 mssql-jdbc:8.2.2.jre8
  3. 连接字符串:jdbc:sqlserver://[我的数据库 url]:1433;SSLProtocol=TLSv1.2
  4. 操作系统:亚马逊 Linux
  5. 数据库:在 Windows 计算机上运行的 Microsoft SQL Server 16
  6. 我已关闭数据库上的 TLS1 和 TLS1.0 以强制我的 java 应用程序仅使用 TLS1.2

当我的应用程序尝试连接数据库时出现以下错误:

com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法使用安全套接字层 (SSL) 加密建立与 SQL Server 的安全连接。错误:没有合适的协议(协议被禁用或密码套件不合适)。

【问题讨论】:

    标签: java sql-server sql-server-2016 mssql-jdbc amazon-linux


    【解决方案1】:

    这可能不是最好的解决方案,但我使用的是让我的应用程序正常工作,

    java.security.Security.setProperty("jdk.tls.disabledAlgorithms","SSLv3, RC4, DES, MD5withRSA, DH keySize

    我从 Java 8.0.202 升级到 8.0.291 并遇到了您提到的禁用 TLS 1.0 和 1.1 的问题。我上面设置的属性是 Java 8.0.202 的设置

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      • 2018-02-19
      • 1970-01-01
      • 2017-10-16
      • 2012-03-09
      • 2017-04-22
      • 2014-07-28
      相关资源
      最近更新 更多