I'm using Liquibase (www.liquibase.org) to handle database migration or changes. However, I'm stumbling on the first hurdle: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption « The server selected protocol version TLS10 is not accepted by client preferences [TLS13,TLS12] ».
I'm looking at the quick start tutorial on the liquibase site, but swapping mysql for sql server DB
I run this command:
liquibase --changelog-file=dbchangelog.xml generate-changelog
and my liquibase.proprties is : [enter image description here][1]
classpath :sqljdbc_10.2\\fra\\sqljdbc4.jar
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://localhost:1433;databaseName=database;integratedSecurity=true;sslProtocol=TLSv1.2
username=sa
password=sapassword
changeLogFile=C:\\Temp\\ChangeLog.xml
the version of SQL I'm using
Microsoft SQL Server 2008 R2 (SP1) - 10.50.2500.0 (X64) Jun 17 2011 00:54:03 Copyright (c) Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor)
That version is too old to support TLS 1.2. If your client won't support older cypher suites, and you need to use an encrypted connection, then you'll need to patch the SQL Server to support TLS 1.2.
In your case you would apply Service Pack 3 and then ths update SQL Server 2008 R2 SP3 – KB4057113.
As outlined here: KB3135244 - TLS 1.2 support for Microsoft SQL Server