javax.net.ssl.SSLHandshakeException: 服务器选择的协议版本 TLS10 不被客户端首选项接受 [TLS13, TLS12]
javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]
我将 DataGrip 升级到 2021.1.2
,现在当我 运行 任何查询时,我都会收到此响应
javax.net.ssl.SSLHandshakeException: The server selected protocol
version TLS10 is not accepted by client preferences [TLS13, TLS12]
如何解决?
您需要执行以下操作:
1:
创建一个名为 custom.java.security
的新文件(任意位置)
2:
在文件中放入以下内容
jdk.tls.disabledAlgorithms=SSLv3, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
3 :
打开 DataGrip -> 在你的数据库面板 -> select 你想要的数据库 -> 右击 -> select 属性 -> 转到高级 选项卡
4 : 在 VM Options 字段中写入以下内容
-Djava.security.properties=${PATH_TO_FILE}/custom.java.security
您需要将 ${PATH_TO_FILE}
替换为您在步骤 1 中创建的文件的文件夹路径
如果您使用 windows
,请不要忘记在路径中使用 \
而不是 \
5 : 转到文件菜单 -> select 使缓存无效... -> 单击 失效并重启
尝试将 TLSv1.1、TLSv1.2、TLSv1.3 添加到 enabledTLSProtocols 在 Advanced 选项卡中设置如下:
DataGrip Project Preferences
不过最好在服务器端更新 TLS 协议。
其他建议对我的 IntelliJ 无效。
我(连接到 MySQL Aurora 数据库时)的诀窍是 picking/downloading“MySQL for 5.1”驱动程序而不是默认的 MySQL IntelliJ 为我选择的驱动程序。
如果您尝试连接 Microsoft Sql 服务器,请使用驱动器
Microsoft SQL Server (jTds)
注意:点击驱动选项
无需创建文件作为已接受的答案。
出现错误提示时,只需打开“数据源和驱动程序”即可:
“VM选项”中原文:
"-Djdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, include jdk.disabled.namedCurves"
所以只需删除 TLSv1, TLSv1.1
然后应用并重新连接,它就会起作用。
在您的计算机上找到 java.security 文件并使用任何文本编辑器对其进行编辑,例如记事本 ++
找到文本 jdk.tls.disabledAlgorithms,删除 TLS 1.1 和 TLS 1.2 协议并保存包含更改的文件
我将 DataGrip 升级到 2021.1.2
,现在当我 运行 任何查询时,我都会收到此响应
javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]
如何解决?
您需要执行以下操作:
1:
创建一个名为 custom.java.security
2: 在文件中放入以下内容
jdk.tls.disabledAlgorithms=SSLv3, TLSv1.1, RC4, DES, MD5withRSA, \
DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
include jdk.disabled.namedCurves
3 : 打开 DataGrip -> 在你的数据库面板 -> select 你想要的数据库 -> 右击 -> select 属性 -> 转到高级 选项卡
4 : 在 VM Options 字段中写入以下内容
-Djava.security.properties=${PATH_TO_FILE}/custom.java.security
您需要将 ${PATH_TO_FILE}
替换为您在步骤 1 中创建的文件的文件夹路径
如果您使用 windows
,请不要忘记在路径中使用\
而不是 \
5 : 转到文件菜单 -> select 使缓存无效... -> 单击 失效并重启
尝试将 TLSv1.1、TLSv1.2、TLSv1.3 添加到 enabledTLSProtocols 在 Advanced 选项卡中设置如下: DataGrip Project Preferences
不过最好在服务器端更新 TLS 协议。
其他建议对我的 IntelliJ 无效。
我(连接到 MySQL Aurora 数据库时)的诀窍是 picking/downloading“MySQL for 5.1”驱动程序而不是默认的 MySQL IntelliJ 为我选择的驱动程序。
如果您尝试连接 Microsoft Sql 服务器,请使用驱动器
Microsoft SQL Server (jTds)
注意:点击驱动选项
无需创建文件作为已接受的答案。
出现错误提示时,只需打开“数据源和驱动程序”即可:
“VM选项”中原文:
"-Djdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, include jdk.disabled.namedCurves"
所以只需删除 TLSv1, TLSv1.1
然后应用并重新连接,它就会起作用。
在您的计算机上找到 java.security 文件并使用任何文本编辑器对其进行编辑,例如记事本 ++
找到文本 jdk.tls.disabledAlgorithms,删除 TLS 1.1 和 TLS 1.2 协议并保存包含更改的文件