我在上一个问题中发现了我的问题。
似乎在使用C#中的SSLSTREAM在Windows Server 2003和2008之间进行连接时,服务器无法就通用算法达成一致。
我得到的确切SSPI例外是:
"The client and server cannot communicate, because they do not possess a common algorithm"
我尝试过使用SSL2,SSL3,TLS1。我尝试使用Default,我尝试为服务器2003安装AES SSL修补程序。似乎无论我做什么,都没有常见的算法..
有谁知道如何解决这个问题?
此外,当我在Windows 7上尝试相同的代码时,服务器/客户端同意:
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
这是来自wireshark。
Windows Server 2003没有该密码,但它应该有一些兼容,而不必启用此处列出的密码:
http://technet.microsoft.com/en-us/library/cc766285(WS.10).aspx
感谢您的帮助
答案 0 :(得分:1)
我无法从你的问题中弄清楚哪一方是服务器哪一方是客户端,也许并不重要。虽然我对那些服务器并不熟悉,但是当服务器无法找到其RSA私钥时,我发现了类似的错误,这可能是由于配置错误或更常见的误解造成的。服务器必须能够访问两个私钥及其匹配的公钥(包含在其证书中)才能完成经过身份验证的连接。
答案 1 :(得分:0)
服务器可能尝试与AES密码协商SSLv3.0连接。这种组合在技术上是非法的。见http://blogs.msdn.com/b/ieinternals/archive/2009/12/08/aes-is-not-a-valid-cipher-for-sslv3.aspx?Redirected=true