Spring boot 項目連接SQL Server 2019后,訪問數據庫失敗,提示[com.microsoft.sqlserver.jdbc.SQLServerException: 驅動程序無法通過使用安全套接字層(SSL)加密與 SQL Server 建立 安全連接。] 經過排查為java jre

解決方法1:
從JRE中編輯/lib/security/java.security 文件
並將 3DES_EDE_CBC 從 jdk.tls.legacyAlgorithms安全屬性中刪除即可解決問題

解決方法2:
但事實上除了要修改 legacyAlgorithms外 disabledAlgorithms屬性也是需要修改的。
而在 Java 8 默認是禁用SSL_RSA_WITH_3DES_EDE_CBC_SHA的,若要連接成功的話,要將其開啟,需要將jdk.tls.legacyAlgorithms中的3DES_EDE_CBC刪除。
jdk.tls.disabledAlgorithms
jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048 # 這個是原有的配置(已封存) #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在這里被排除掉 jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, \ DH keySize < 1024, EC keySize < 224, DES40_CBC, RC4_40, \ include jdk.disabled.namedCurves
jdk.tls.legacyAlgorithms
# 這個是原有配置(已封存)
#jdk.tls.legacyAlgorithms= \
# K_NULL, C_NULL, M_NULL, \
# DH_anon, ECDH_anon, \
# RC4_128, RC4_40, DES_CBC, DES40_CBC, \
# 3DES_EDE_CBC
# 這個是修改后的配置,這里將“3DES_EDE_CBC”刪除了
jdk.tls.legacyAlgorithms= \
K_NULL, C_NULL, M_NULL, \
DH_anon, ECDH_anon, \
RC4_128, RC4_40, DES_CBC, DES40_CBC
