我有一个java应用程序正在使用hibernate为Websphere Application Server中的数据源执行JNDI查找,然后与MSSQL数据库进行对话。
安全团队最近修补了Websphere服务器8.5.5.4以禁用SSLv3。
因此我收到了com.ibm.websphere.ce.cm.StaleConnectionException:驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server建立安全连接。错误:" SSLv3 SSLContext不可用"。
在此之前,我可以毫无问题地访问数据。
我可以做些什么来克服这个问题?我是否需要将应用程序配置为使用TLS?
我正在使用Hibernate 4.3.7。
hibernate配置看起来像这样。
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<property name="connection.datasource">jdbc/testing</property>
<property name="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</property>
<mapping resource="myApplication.hbm.xml" />
</session-factory>
</hibernate-configuration>
非常感谢任何帮助。
答案 0 :(得分:1)
也许您应该查看MSSQL端以检查是否支持 TLS (至少1.0版本)。如果没有尝试启用它。
否则(不建议从安全性视图)修复是通过使用以下JVM参数临时启用SSLv3,直到找到通过TLS进行通信的方式:
-Dcom.ibm.jsse2.disableSSLv3=false
答案 1 :(得分:1)
昨天我有这个问题。
我使用sqljdbc4.jar而不是sqljdbc4.1解决了它,它工作正常。
答案 2 :(得分:0)
我找到了解决方案。尝试更新你的sqljdbc4.jar文件 - 事实证明我的已经过时了。或者,我也使用@trikelef启用SSLv3的解决方案 - 但这会打开安全问题。