5

我有一个 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?

我正在使用休眠 4.3.7。

休眠配置如下所示。

<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>

任何帮助将不胜感激。

4

3 回答 3

1

也许你应该看看MSSQL端来检查是否支持TLS(至少1.0版本)。如果没有尝试启用它。

否则(从安全角度来看不推荐)修复是使用以下 JVM 参数临时启用 SSLv3,直到找到通过 TLS 进行通信的方法:

-Dcom.ibm.jsse2.disableSSLv3=false
于 2015-02-18T09:35:57.560 回答
1

我昨天有这个问题。

我通过使用 sqljdbc4.jar 而不是 sqljdbc4.1 解决了它,它工作正常。

于 2015-02-18T09:44:30.843 回答
0

我找到了解决方案。尝试更新您的 sqljdbc4.jar 文件 - 结果发现我的文件已过时。或者,我还使用@trikelef 提供的启用 SSLv3 的解决方案运行它——但这会带来安全问题。

于 2015-02-18T10:29:15.003 回答