无法使用Spring JDBC通过SSL连接到SQL Server

时间:2018-02-22 18:06:31

标签: java sql-server ssl jdbc

我正在尝试使用我们使用Spring JDBC 4.2.5版本的应用程序连接到SQL Server。我们有以下设置:

  1. SQL Server - 设置为需要SSL。
  2. 在应用程序中,我们有以下连接url:

    jdbc:jtds:sqlserver://<servername>;databaseName=<dbname>;instance=<instance_name>;encrypt=true;trustServerCertificate=false;
    
  3. 我们将SQL Server证书导入服务器的信任库,并设置了以下系统属性:javax.net.ssl.trustStorejavax.net.ssl.trustStorePassword
  4. 我们尝试从应用程序连接时遇到以下错误:“JDBC驱动程序”不支持加密。

    有没有人知道Spring JDBC 4.2.5版本是否支持SSL?我找不到任何与此相关的文档。还想知道我们是否缺少必要的步骤?

1 个答案:

答案 0 :(得分:0)

给定jdbc:jtds:sqlserver:前缀,您使用的是jTDS驱动程序,但您使用的连接属性表明您正在遵循Microsoft SQL Server JDBC驱动程序的文档/说明。

如果您想使用jTDS driver,请使用jTDS属性,用于您需要使用的SSL(和证书验证):

jdbc:jtds:sqlserver://<servername>/<dbname>;instance=<instance_name>;ssl=authenticate

否则,您需要使用Microsoft SQL Server JDBC driver,并将连接字符串的前缀更改为jdbc:sqlserver: