因網絡通信安全的要求,服務器禁止TLS1.0, 開始使用TLS1.2作爲通信協議。
服務器端系統是Windows Server 2019
一、在Windows server 系統註冊表中設置TLS項。
第一種方法:手動設置
1. 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols 然後 右鍵->新建->項->新建TLS 1.2
2. 在文件TLS 1.2中右鍵->新建->項->新建Server, Client
3.在新建的Server和Client中都新建如下的項(DWORD 32位值)
DisabledByDefault [Value = 0]
Enabled [Value = 1]
第二種方法:寫reg文件設置
1.新建文本文件,將一下代碼複製進去,後綴改爲reg,雙擊導入
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client] “DisabledByDefault”=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] “DisabledByDefault”=dword:00000000 “Enable”=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] “DisabledByDefault”=dword:00000000 “Enable”=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] “DisabledByDefault”=dword:00000000 “Enable”=dword:00000001 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] “DisabledByDefault “=dword:00000000 “Enable”=dword:00000001
2.禁用老SSL配置
打開HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client 配置如下
DisabledByDefault [Value = 0]
Enabled [Value = 0]
二、更新SQL server
查詢SQL Server 2014 Service Pack 1 (SP1) 以及累積的更新 (目前) 的組建
https://support.microsoft.com/zh-tw/help/2936603
這個子機碼會控制 TLS 1.0 使用。
如需 TLS 1.0 的預設設定,請參閱TLS/ssl (安全通道 SSP) 的通訊協定。
登錄路徑:HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
若要啟用 TLS 1.0 通訊協定,建立已啟用在用戶端或伺服器子機碼下表中所述的項目。
此項目依預設不存在於登錄中。 您已建立的項目之後,請將 DWORD 值變更為 1。
TLS 1.0 子機碼表
子機碼 | 描述 |
---|---|
Client | 會控制 TLS 用戶端上的 TLS 1.0 使用。 |
Server | 會控制 TLS 伺服器上的 TLS 1.0 使用。 |
若要停用 TLS 1.0 用戶端或伺服器,請將 DWORD 值變更為 0。 如果 SSPI 應用程式要求使用 TLS 1.0 時,它會遭到拒絕。
若要停用 TLS 1.0,根據預設,建立DisabledByDefault項目和變更的 DWORD 值設為 1。 如果明確 SSPI 應用程式要求使用 TLS 1.0 時,它可能會交涉。
下列範例示範在登錄中停用 TLS 1.0:
在我的lab 中直接修改下列兩個 Registry Key 後,可以直接使用 TLS 1.2 連接不用改程式。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001