Server 2008 R2/Windows 7 引入了对 Windows 的 TLS 1.1 和 TLS 1.2 支持,并且在使 TLS 1.0 易受攻击的攻击之前发布,所以这可能只是 TLS 1.0 是默认的问题,因为它是使用最广泛的 TLS 版本在 Server 2008 R2 发布时(2009 年 7 月)。
不确定您如何确定或找出“为什么”做出设计决定,但鉴于 Windows 7 和 Server 2008 R2 将该功能引入 Windows 系列,并且 Windows Server 2012 默认使用 TLS 1.2,它似乎暗示这是当时“做事方式”的问题。TLS 1.0 仍然“足够好”,因此它是默认设置,但 TLS 1.1 和 1.2 支持前向支持和前向可操作性。
Server 2008 R2/Windows 7 引入了对 Windows 的 TLS 1.1 和 TLS 1.2 支持,并且在使 TLS 1.0 易受攻击的攻击之前发布,所以这可能只是 TLS 1.0 是默认的问题,因为它是使用最广泛的 TLS 版本在 Server 2008 R2 发布时(2009 年 7 月)。
不确定您如何确定或找出“为什么”做出设计决定,但鉴于 Windows 7 和 Server 2008 R2 将该功能引入 Windows 系列,并且 Windows Server 2012 默认使用 TLS 1.2,它似乎暗示这是当时“做事方式”的问题。TLS 1.0 仍然“足够好”,因此它是默认设置,但 TLS 1.1 和 1.2 支持前向支持和前向可操作性。
Microsoft 员工的此 technet 博客建议启用较新版本的 TLS,并指出(截至 2011 年 10 月):
这进一步支持了这样的想法,即在 Server 2008 R2 中默认情况下未启用较新的 TLS 版本,原因很简单,因为它们较新并且当时没有被广泛支持或使用 - Apache 和 OpenSSL 甚至还不支持它们,更不用说使用它们作为默认值。
有关如何启用和禁用各种 SSL/TLS 版本的详细信息,请参阅Microsoft 知识库文章编号 245030,标题为
How to restrict the use of certain cryptographic algorithms and protocols in Schannel.dll
。显然,这些Client
键控制 Internet Explorer,而这些Server
键覆盖 IIS。我自己也想知道这个......也许只是由于当时已知的兼容性问题......我发现了这个 MSDN 博客条目(从 2011 年 3 月 24 日开始):
http://blogs.msdn.com/b/ieinternals/archive/2011/03/25/misbehave-https-servers-impair-tls-1.1-and-tls-1.2.aspx
它讨论了一些 Web 服务器在响应不受支持的协议请求时“行为不端”,这导致客户端无法回退到受支持的协议,最终结果是用户无法访问网站。
在此处引用该博客条目的一部分: