как заставить intellij работать с определенной версией TLS?

#java #sql-server #intellij-idea

#java #sql-сервер #intellij-idea

Вопрос:

получил эту досадную ошибку при попытке подключить новый локальный источник данных mssql в intellij. ( получаю ту же ошибку при попытке подключиться из кода)

[08S01] Драйверу не удалось установить безопасное соединение с SQL Server с помощью шифрования Secure Sockets Layer (SSL). Ошибка: «Сервер выбрал TLSv1, но эта версия протокола не включена или не поддерживается клиентом.». ClientConnectionId:ffbe4d7e-70b5-4123-ad9a-36decc62858a javax.net.ssl.SSLHandshakeException: Сервер выбрал TLSv1, но эта версия протокола не включена или не поддерживается клиентом.

некоторые подробности :

  • все службы mssql запущены.
  • intellij 2019.3 (может подключаться к удаленному mssql, но не может к определенному локально)
  • mssql установлен локально 2014
  • project jdk jdk1.8.0_241
  • драйвер mssql — 7.4.1
  • spring-jdbc:5.1.2
  • строка подключения — jdbc:sqlserver://localhost:1433;база данных=local-test

еще одна вещь: я получил эту ошибку при попытке подключиться к удаленному mssql, и путем добавления порта проблема была исправлена (не работает локально).

Спасибо.

Комментарии:

1. Помогает ли запуск приложения со следующим флагом? -Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2

2. к сожалению, нет

3. И тот же флаг только с протоколом TLS, поддерживаемым клиентом? TLSv1.1 или TLSv1.2, или, может быть, оба. Если вы используете его и с неподдерживаемым значением, приложение может выбрать это значение, и именно поэтому происходит сбой соединения.

4. в Windows «Источник данных и драйвер» я выбираю свой проект источника данных и на вкладке advance я устанавливаю «SSLProtocol» на TLSv1.1 . также на той же вкладке я внизу я устанавливаю параметр виртуальной машины -Dhttps.protocols = TLSv1.1 — но все та же ошибка mwssage.

5. SQL Server 2014 поддерживает TLS 1.1 и TLS 1.2 . Установлены ли у вас какие-либо пакеты обновления или накопительные обновления?