Ssl

TLS 1.1+ 打破了 TFS 2013

  • February 28, 2019

我們最近對系統資料庫進行了更改,以強制我們的系統僅使用 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+ 並禁用所有其他是原因,因為回滾更改刪除了所有問題。

任何人都知道這裡發生了什麼以及如何解決它?

我今天有同樣的問題。請參閱http://www.diaryofaninja.com/blog/2016/02/28/pci-compliant-web-deploy-getting-webdeploy-working-after-disabling-insecure-ciphers-like-ssl-30-and- TLS-10

這為我們解決了問題。

萬一上述連結將來損壞,這裡是解決方案:

.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 時,可能必須再次執行此操作。

引用自:https://serverfault.com/questions/843254