java JDK11+启动TLS版本问题
·
java JDK11+启动TLS版本问题
在连接低版本的SQL Server数据库时,由于低版本的SQL Server数据库不支持TLSv1.1、TLSv1.2等更高版本的TLS协议,仅支持TLSv1这种低版本的,遇到的报错信息可能如下的某一个种:
驱动程序无法使用安全套接字层 (SSL) 加密与 SQL Server 建立安全连接……
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]”
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
通过在URL中指定sslProtocol=TLSv1.2等措施,依旧无效。这是因为指定使用高版本的TLS协议但是SQL Server服务端不支持,提高版本也没用。
通过指定encrypt=false或trustServerCertificate=true,但是SQL Server服务端有强制启动TLS,所以这些配置也无效。
解决方案
开始本地JDK(版本:11+)上支持TLSv1
经验证,好使!
原因
JDK11+等高版的,已经在JDK层面强制禁用里TLSv1、TLSv1.1等低版本的TLS协议,需要手动解除限制。
更多推荐



所有评论(0)