驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

06-02 1358阅读

一、在进行项目开发时,当使用的是sqlserver数据库,有时候会出现“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接”的报错内容

解决方案:

        在数据库链接的URL后面添加trustServerCertificate=true,这个配置意味着客户端将信任它从SQL server获得的证书,而不进行完全验证。虽然此种方式不是最优解,但是却可以顺利的解决此问题。

spring:
  datasource:
    driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:sqlserver://localhost:1433;databaseName=his2010;trustServerCertificate=true
    username: sa
    password: *********

二、当报错内容是以下内容时

com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”。 ClientConnectionId:b0907b82-2df1-4cf5-9640-053720fe9ed9

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:3680)

    at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:2047)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:3204)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2833)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2671)

    at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1640)

解决方案:修改JDK安装目录下的\conf\security\java.security文件

jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \

    DH keySize

修改为

jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \

    DH keySize

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码