我们最近对注册表进行了更改,以强制我们的系统仅使用 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。
第二个的 .NETFramework 下可能有多个键,具体取决于安装的 .NET 版本。最好在它们下添加 SchUseStrongCrypto 以避免将来出现问题。如果/当安装了新版本的 .NET 时,可能必须再次执行此操作。