迁移到RHEL 9.5上的Java应用连接SQL Server SSL异常的解决方案

一个Java应用在RHEL 7.1系统上能够正常连接SQLServer数据库,但当迁移到RHEL 9.5后,无法正常连接,报错显示JDBC连接异常,无法通过SSL加密建立安全连接。具体报错信息如下:

[2025-01-13 15:21:35,017] [ERROR] [com.zaxxer.hikari.pool.HikariPool:593] [task-1] HikariPool-1 - Exception during pool initialization.
com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "Unexpected rethrowing".
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:3151)
	at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1912)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2708)
	at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2362)
	at 
...

数据库端未做变动且未开启SSL相关功能。

先决条件

1.旧服务器

  • Red Hat Enterprise Linux Server release 7.1 (Maipo)
  • openjdk version “1.8.0_412”
  • jdbc 驱动包(12.8.1.jre8)

2.新服务器

  • Red Hat Enterprise Linux release 9.5 (Plow)
  • openjdk version “1.8.0_432”
  • jdbc 驱动包(12.8.1.jre8)

3.数据库服务器

  • Windows Server 2016标准版
  • SQL Server 2016标准版

解决方案

1.检查服务器加密策略

通过如下命令查看服务器当前的加密策略。

[root@yunweixia.com ~]# update-crypto-policies --show
DEFAULT

2.修改服务器加密策略

发现当前加密策略为DEFAULT,需将其调整为LEGACY策略、

[root@yunweixia.com ~]# update-crypto-policies --set LEGACY

总结扩展

本次问题主要是由于Java应用从RHEL 7.1迁移到RHEL 9.5后,系统加密策略的变化导致连接SQL Server数据库失败。通过调整加密策略为LEGACY,成功解决了SSL连接异常的问题。

技术评审

  • 评审专家:保哥 | 某保险公司运维开发工程师
  • 验证结论:版本验证通过

修订记录

  • 2025-06-07 v1.0 初版发布

原创文章,作者:运维侠,如若转载,请注明出处:https://www.yunweixia.com/solutions/solution-for-ssl-exception-when-java-application-migrated-to-rhel-9-5-connects-to-sql-server.html

(0)
运维侠的头像运维侠共建用户
上一篇 2025年6月6日 18:11
下一篇 2025年6月8日 18:11

相关推荐

发表回复

登录后才能评论