当前位置: 首页 > 知识库问答 >
问题:

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

邬英武
2023-03-14

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

    < Li > Java JDK:Amazon corretto open JDK版本:" 1.8.0_252" < li>JDBC驱动程序:Microsoft SQL server MSSQL-JDBC:8 . 2 . 2 . JRE 8 < li >连接字符串:JDBC:SQL server://[我的数据库URL]:1433;SSLProtocol=TLSv1.2 < li >操作系统:Amazon Linux < li >数据库:在Windows机器上运行的Microsoft SQL Server 16 > < li >我关闭了数据库上的TLS1和TLS1.0,以强制我的java应用程序只使用TLS1.2

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

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

共有1个答案

颜博达
2023-03-14

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

Java . security . security . set property(" JDK . TLS . disabled algorithms "," SSLv3,RC4,DES,MD5withRSA,DH keySize

我从Java 8.0.202升级到8.0.291,遇到了您提到的问题,该问题禁用了TLS 1.0和1.1。我在上面设置的属性是Java 8.O.202中的设置

 类似资料:
  • 我使用的是Java8、Spark 2.1.1、Ignite2.5和BoneCP 0.8.0 结果出现以下异常: 提交脚本如下所示: 当使用“本地”Spark实例时,它使用think JDBC驱动程序连接到Ignite。有什么想法吗?

  • 我们有一个使用Oracle 19.3数据库运行的项目,以及一个使用Oracle 19.3 JDBC驱动程序(在Maven Central上可用)的Java应用程序。在带有JRE1.8的Windows上,一切都很好,但当我运行在构建服务器上或在带有OpenJDK11.0.3的WSL Ubuntu中时,它拒绝连接到数据库。具体地说: 如果切换到18.3JDBC驱动程序,在这两种环境中一切都很好;如果我

  • 代码: 输出: Traceback(最近一次调用last):文件“C:/Users/RV CSP/pycharm projects/untitled 25/hotel . py”,第9行,在session = cluster.connect('dbsi ')文件“C:\ Users \ RV CSP \ AppData \ Roaming \ Python \ Python 36 \ site-p

  • 我目前正在创建一个API,它使用具有3个节点的Cassandra集群来存储数据。我使用PHP 5.6.17、Cassandra 2.2.3和Datastax PHP Driver 1.1.0在本地机器上开发它,一切都很顺利。 但是,我们决定迁移到远程 Cassandra 集群(带有本机协议 4 的 3.4),我无法通过 PHP 访问它,因为我收到以下错误:发生错误:16777226 - 没有可用于

  • 我正在尝试在android应用程序中使用JDBC连接到SQL Server。我导入了sqljdbc4。jar进入我的应用程序,但当我 conn=驾驶员管理器。getConnection(连接字符串); 我得到下面的错误:连接字符串是 jdbc:sqlserver://xxx.xxx.xxx.xxx:1433;加密=快速;用户=用户名;密码=密码; 谁能告诉我出了什么问题吗?如果我将相同的代码放入常

  • 我有一张桌子 当我删除的时候,我一直得到 注意:我连接到一个特定的数据库驱动程序,其表名为 我不知道为什么我不能删除这个: 我做错什么了吗? 如果我把$baby挖出来,我好像就会得到它