简体   繁体   English

SQL Server Jdbc 驱动程序无法使用 TLS1.2 连接到数据库

[英]SQL Server Jdbc driver unable to connect to database using TLS1.2

I would like to connect to my database instance using TLS1.2 from a Linux instance and I am unable to do so.我想从 Linux 实例使用 TLS1.2 连接到我的数据库实例,但我无法这样做。 I am using the following configuration我正在使用以下配置

  1. Java JDK : Amazon corretto openjdk version : "1.8.0_252" Java JDK:Amazon corretto openjdk 版本:“1.8.0_252”
  2. JDBC driver : Microsoft SQL server mssql-jdbc:8.2.2.jre8 JDBC 驱动程序:Microsoft SQL 服务器 mssql-jdbc:8.2.2.jre8
  3. Connection string : jdbc:sqlserver://[my database url]:1433;SSLProtocol=TLSv1.2连接字符串:jdbc:sqlserver://[我的数据库url]:1433;SSLProtocol=TLSv1.2
  4. Operating system: Amazon Linux操作系统:亚马逊Linux
  5. Database: Microsoft SQL Server 16 running on a Windows machine数据库:运行在 Windows 机器上的 Microsoft SQL Server 16
  6. I have turned off TLS1 and TLS1.0 on the database to force my java application to use only TLS1.2我在数据库上关闭了 TLS1 和 TLS1.0 以强制我的 java 应用程序只使用 TLS1.2

The following error appears when my application tries to connect to the database:当我的应用程序尝试连接到数据库时出现以下错误:

com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法通过使用安全套接字层 (SSL) 加密建立到 SQL Server 的安全连接。 Error: No appropriate protocol (protocol is disabled or cipher suites are inappropriate).错误:没有合适的协议(协议被禁用或密码套件不合适)。

This maybe not the best solution but to get my application working i used,这可能不是最好的解决方案,但为了让我的应用程序正常工作,我使用了,

java.security.Security.setProperty("jdk.tls.disabledAlgorithms","SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024,EC keySize < 224, 3DES_EDE_CBC, anon, NULL"); java.security.Security.setProperty("jdk.tls.disabledAlgorithms","SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024,EC keySize < 224, 3DES_EDE_CBC, anon, NULL");

I upgraded from Java 8.0.202 to 8.0.291 and got the issue you have mentioned which had disabled TLS 1.0 and 1.1.我从 Java 8.0.202 升级到 8.0.291 并遇到了您提到的禁用 TLS 1.0 和 1.1 的问题。 The property i have set above are the settings from Java 8.0.202我在上面设置的属性是来自 Java 8.0.202 的设置

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM