连接JDBC到Sql Server 2012的SSLv3错误?

时间:2015-02-26 03:10:05

标签: java sql-server ssl jdbc

我已经切换了计算机并安装了mssql 2012sp2。 (最新最好的Win7 SP,sql server sp等)

当通过我们的ant脚本运行sql时,我(令人惊讶地)遇到了SSL握手问题,出现此错误:

  

SSLv3 SSLContext不可用

我正在使用此文件中的IBM JDK 1.6和Microsoft的2.0 jdbc驱动程序sqljdbc_2.0.1803.100_enu.tar.gz

某些数据点

  • MSSQL jdbc驱动程序使用SSL进行登录
  • 我们有生产实例 - 使用相同的jdbc驱动程序---指向MSSQL 2012.我之前从未见过这个问题。
  • 我尝试-Dhttps.protocols="TLS"但没有任何成功。

一些问题

  • 这是后POODLE更改为MSSQL吗?也许在服务包中?

  • 有任何变通方法吗?

感谢

更新:澄清我使用的是IBM jdk,而不是Oracle的

2 个答案:

答案 0 :(得分:1)

JDK版本证明了原因 - 而不是sql server。我在新机器上使用了更高版本的IBM JDK 1.6。

具体而言,IBM JDK的更高版本默认禁用SSLv3。

解决方法

将此选项添加到JVM

-Dcom.ibm.jsse2.disableSSLv3=false

<强>参考

http://www-01.ibm.com/support/docview.wss?uid=swg21688165#issues

答案 1 :(得分:0)

另一个选项是检查您尝试联系的SQL Server的SSL配置,并确保它接受TLS连接。

SQL JDBC驱动程序也可能存在问题,因为某些旧版本无法播放 与Java 1.7一起使用。