首页 > 解决方案 > 无法从 CentOS 8 服务器使用 MS JDBC 驱动程序连接到 SQL Server 服务器:SSL 错误但未使用安全连接

问题描述

我发现一篇与我遇到的问题很接近的文章。就是这个:

Java 8 上的 SQL Server JDBC 错误:驱动程序无法使用安全套接字层 (SSL) 加密建立与 SQL Server 的安全连接

我可以提供整个堆栈跟踪,但修剪后的版本有这一系列错误:

com.microsoft.sqlserver.jdbc.SQLServerException:驱动程序无法使用安全套接字层 (SSL) 加密建立与 SQL Server 的安全连接。错误:“java.security.cert.CertificateException:证书不符合算法约束”。ClientConnectionId:e7a5ebc2-d489-4743-85ba-7873926508fe

引起:javax.net.ssl.SSLHandshakeException:
java.security.cert.CertificateException:证书不符合算法约束

引起:java.security.cert.CertificateException:证书不符合算法约束

原因:java.security.cert.CertPathValidatorException:算法约束检查在密钥大小限制上失败。与证书一起使用的 RSA 1024 位密钥:CN=SSL_Self_Signed_Fallback。用法是 tls 服务器

JDBC 连接到没有启用连接加密或我知道的任何安全性的 SQL Server 2012。我和我们的数据库人员谈过,他说他知道的连接没有安全性。所以,我不确定为什么 MS 驱动程序继续抱怨 SSL 连接。

这个 Linux 服务器 (CentOS 8) 有两个使用 JDBC 连接的 tomcat 安装。我有一个 Tomcat 8.0.32 实例,它使用 JTDS 驱动程序连接到 SQL Server 2012 实例,该驱动程序在连接上完全没有问题。我尝试将该驱动程序切换到 MS 驱动程序,然后它遇到了同样的错误。所以我把它换回来了。但是Tomcat(9.0.33)的第二次安装有一个需要JDBC 4.0或以上驱动程序的应用程序,而JTDS驱动程序只有3.0驱动程序,所以我必须使用MS驱动程序。但是,我无法弄清楚如何获得成功的连接。

通过互联网挖掘,我发现了对 jsse.jar 的引用并安装了正确的证书(尽管没有具体说明如何执行或为什么这样做)。我还挖了一篇文章,说 JTDS 驱动程序使用 NTLM 进行连接(不是 100% 确定这一点,因为我在 JTDS 的连接中没有引用域)。无论如何,我只需要一些关于如何配置 MS 驱动程序以从 Linux 连接到非安全 SQL Server 2012 的指导。我发现的 Microsoft 参考文献解决了安全连接,但没有关于不安全的连接。

运行Java版本:

也试过:

url=jdbc:sqlserver://192.168.80.214:1433;databaseName=DB_Central;encrypt=false;sslProtocol=TLSv1.2;

只是:

url=jdbc:sqlserver://192.168.80.214:1433;databaseName=DB_Central

有效的 JTDS(在 tomcat 8.0.32 / JDBC 3.0 环境中):

driverClassName=net.sourceforge.jtds.jdbc.Driver
url=jdbc:jtds:sqlserver://192.168.80.214:1433;databaseName=DB_Central

任何可能为我指明正确方向的事情都会有所帮助,尤其是为什么 MS 驱动程序想要(或认为)连接是安全的。另一个花絮是我在部署到 Windows 10 时没有看到这些错误......所以它与 Linux 以及 Linux 上的 Java 配置有关。或者,也许我在 Linux 中只需要正确的连接字符串咒语.....

标签: javasql-serverlinuxssljdbc

解决方案


The driver believes that the connection is secure , if it is connecting to a port that is meant to receive only secure connections. 1.Check the port 2.Check for any other explicit setting of TLS / SSL on the JDBC url


推荐阅读