Ssl
TLS 1.1+ 打破了 TFS 2013
我們最近對系統資料庫進行了更改,以強制我們的系統僅使用 TLS 1.1 和 1.2 並禁用任何 TLS 1.0 及更低版本。除了 TFS 2013 之外,我們的大多數服務在更改後都很好,我找不到它的修復程序。該 Web 應用程序可通過 https 訪問,但開發人員在 Visual Studio 2017 中遇到了簽入問題。建構嘗試進入隊列,然後在執行幾分鐘後失敗。更奇怪的是我也遇到了 TFS 管理控制台問題。即使 Web 應用程序在管理控制台中可用,我也會收到錯誤,並且無法打開“組成員身份”、“管理安全性”或在“更改 URL”下測試 URL。
伺服器證書和 IIS 綁定都為 TLS 1.1+ 正確配置(正如我所說,Web 應用程序是可訪問的),我確信系統資料庫更改以啟用 TLS 1.1+ 並禁用所有其他是原因,因為回滾更改刪除了所有問題。
任何人都知道這裡發生了什麼以及如何解決它?
這為我們解決了問題。
萬一上述連結將來損壞,這裡是解決方案:
.NET 有一個名為“useStrongCrypto”的設置,允許客戶端 PC 使用 TLS 1.1 及更高版本。預設情況下它沒有打開。為了強制 .NET 使用此功能,需要進行 2 次或更多系統資料庫編輯。這些鍵可能不存在,因此需要添加它們,或者如果它們存在,它們的值為 0。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SchUseStrongCrypto = 00000001 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319\SchUseStrongCrypto = 00000001
第二個的 .NETFramework 下可能有多個鍵,具體取決於安裝的 .NET 版本。最好在它們下添加 SchUseStrongCrypto 以避免將來出現問題。如果/當安裝了新版本的 .NET 時,可能必須再次執行此操作。