com.microsoft.sqlserver.jdbc.SQLServerException: 驅動程序無法通過使用安全套接字層(SSL)加密與 SQL Server 建立 安全連接。


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM