赞
踩
Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS12]
- com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS12]". ClientConnectionId:7bb78844-cfcd-45df-91ea-74d8a4bd32e9
- at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:3680)
以上错误是不是困扰你很久了,两天了没查到原因。
网上答案多为修改:。。\jre\lib\security路径下的java.secuity文件
修改方法如下:
- #jdk.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, 3DES_EDE_CBC注释掉,或者像我一样都注释掉。
还可以把下面的部分也注释掉:
- jdk.tls.legacyAlgorithms= \
- SSLv3, TLSv1, TLSv1.1, \
- K_NULL, C_NULL, M_NULL, \
- DH_anon, ECDH_anon, \
- RC4_128, RC4_40, DES_CBC, DES40_CBC, \
- 3DES_EDE_CBC
注意:我是修改了一下。
以上虽然都说管用,但是对我没没有作用:
解决办法:修改目录/etc/crypto-policies/back-ends下的java.config
修改后如下:
1.去掉了jdk.tls.disabledAlgorithms=后面的TLSv1, TLSv1.1, 3DES_EDE_CBC
2.你的程序不报错此处可以不改,我的程序用到了RSA算法,1024位的,本来下面1024的地方都是2048.
- jdk.tls.ephemeralDHKeySize=1024
- jdk.certpath.disabledAlgorithms=MD2, MD5, DSA, RSA keySize < 1024
- jdk.tls.disabledAlgorithms=DH keySize < 1024, SSLv3, SSLv2, DHE_DSS, RSA_EXPORT, DHE_DSS_EXPORT, DHE_RSA_EXPORT, DH_DSS_EXPORT, DH_RSA_EXPORT, DH_anon, ECDH_anon, DH_RSA, DH_DSS, ECDH, DES_CBC, RC4_40, RC4_128, DES40_CBC, RC2, HmacMD5
- jdk.tls.legacyAlgorithms=
运行成功!!!
====================================
简码笔记,让你的代码更加简约精炼。
转载请注明出处。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。