服务器不支持客户端应用程序支持的任何密码套件

MGO*_*wen 9 windows-server-2003 ssl windows-7 tls

我在服务器的 Windows 事件日志中收到此错误:

从远程客户端应用程序接收到 TLS 1.0 连接请求,但服务器不支持客户端应用程序支持的任何密码套件。SSL 连接请求失败。

当我尝试从 Windows Server 2003 机器连接到 Windows 7 机器上的 Web 服务时。

如何将密码套件添加到另一个支持的密码套件?

(修复客户端是理想的,但如果没有服务器解决方案就可以了 - 我可以访问所有涉及的框,我只想要它们之间的一些基本加密以保护隐私)。

随着数小时的谷歌搜索和阅读,我尝试过:

  • 检查服务器窗口事件查看器(发现密码套件错误)
  • http://support.microsoft.com/kb/948963向 test1 添加了密码套件(没有帮助)
  • 将 TLS 1.0 添加到服务器 Windows 注册表中密码套件中的协议(无更改)
  • 安装 IIS 工具,希望为 Schannel 添加更多协议(它没有)
  • 再次为客户端导出证书,但包含私钥(无更改)
  • 检查已安装的密码套件在服务器和客户端上是否匹配(找不到 win2k3 列出它们的位置)
  • 将 TLS_RSA_WITH_AES_256_CBC_SHA(由上述修补程序安装)添加到服务器的密码套件(不,已经在那里)

Mat*_*sen 5

Windows 7 在选择密码时使用新的 CNG(下一代加密技术)API。据我所知,Windows 2003 的 CNG 不可用。

但是,您可以安装这些基于 AES 的密码套件以在 Windows 2003 上使用:

  • TLS_RSA_WITH_AES_128_CBC_SHA
  • TLS_RSA_WITH_AES_256_CBC_SHA

这些是 Windows Vista 和 Windows 7 客户端将尝试协商使用 TLS 1.0 及更高版本的第一批套件,并且 OpenSSL 客户端也支持这些套件。

为了使用这些,安装KB948963


MGO*_*wen -1

解决方案是再次生成我的证书,这次强制使用 RSA 和 SHA1(尽管 SHA1 无论如何都是默认值)。由于某种原因,Win Server 2k3 无法或不会使用默认 makecert 证书的正确密码。这是对我有用的命令行:

makecert -pe -r -ss my -sr localMachine -n​​ "CN=domainnameoripaddressgoeshere.com" -e 01/01/2098 -a sha1 -eku 1.3.6.1.5.5.7.3.1 -sky Exchange -sp "Microsoft RSA SChannel加密提供者”-sy 12

有关详细信息,请参阅http://mgowen.com/2013/06/19/cipher-suites-issue/http://msdn.microsoft.com/en-us/library/bfsktky3(v=vs.110).aspx

  • sha1 已弃用。我猜问题的出现是因为由于过去几年的安全发展,您的 2003 客户端支持的所有密码都已被弃用。您再次打开这些密码很可能会打开安全漏洞。另请注意,如果您使用 SHA1 作为网站证书,Google 将会对您进行处罚。https://community.qualys.com/blogs/securitylabs/2014/09/09/sha1-deprecation-what-you-need-to-know (3认同)