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

我在我的服务器的Windows事件日志中得到这个错误:

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

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

如何将密码套件添加到其他支持的密码套件?

(修复客户端是理想的,但如果服务器解决scheme没有问题 – 我可以访问所有涉及到的盒子,我只是希望在它们之间进行一些基本的encryption以保护隐私)。

随着数小时的search和阅读,我尝试了:

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

Windows 7在select密码时使用新的CNG(新一代encryption技术)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

解决scheme是再次生成我的证书,这次强制RSA和SHA1(尽pipeSHA1是默认的)。 出于某种原因,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 。