SSLSTREAM - 从远程客户端应用程序收到 TLS 1.2 连接请求,但服务器不支持任何密码套件

SSLSTREAM - 从远程客户端应用程序收到 TLS 1.2 连接请求,但服务器不支持任何密码套件

我查看了很多类似的问题,但都无法解决我的问题。我们正在升级到 TLS 1.2,并收到以下错误,这是我从 Windows 事件日志中获取的

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

lantronix xport pro(支持 TLS 1.2)设备正在调用部署在 Windows server 2012 中的 .net 服务。

客户端/服务器握手失败,但无法找出原因。问题发生在下面的行

stream.AuthenticateAsServer(_serverCertificate, false, SslProtocols.Ssl3| SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12, true);

使用的 Wireshark 和 Windows Server 2012 R2 仅使用 IIS Crypto 启用了 TLs 1.1 和 1.2

客户端使用以下密码套件发送 TLS 1.2 请求

Cipher Suite: TLS_RSA_WITH_AES_128_CBC_SHA (0x002f)
Cipher Suite: TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a)
Cipher Suite: TLS_RSA_EXPORT1024_WITH_RC4_56_MD5 (0x0060)
Cipher Suite: TLS_RSA_EXPORT1024_WITH_RC4_56_SHA (0x0064)
Cipher Suite: TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)

但是服务器没有响应 Server Hello,并且发现错误消息“服务器不支持任何密码”。

我可以在 IIS Crypto 中看到加密中的 AES_128_CBC_SHA。但我不确定它为什么会失败并且几乎卡住了好几天。希望能够弄清楚我可以采取哪些进一步措施来解决这个问题

更新::

我从 Windows Server 2012 创建了一个客户端,它连接到服务器,并且它将 TLS 1.2 与 Cipher Suite 连接:TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)

但是在连接 lantronix xport pro(支持 TLS 1.2)时,服务器在 X86 和 x64 上都显示“客户端和服务器无法通信,因为它们没有通用算法”。

这是否意味着 2012 服务器不支持客户端发送的任何密码

密码套件:TLS_RSA_WITH_AES_128_CBC_SHA (0x002f) 密码套件:TLS_RSA_WITH_3DES_EDE_CBC_SHA (0x000a) 密码套件:TLS_RSA_EXPORT1024_WITH_RC4_56_MD5 (0x0060) 密码套件:TLS_RSA_EXPORT1024_WITH_RC4_56_SHA (0x0064) 密码套件:TLS_RSA_EXPORT_WITH_RC4_40_MD5 (0x0003)

服务器创建 TCL SSLStream 并且不使用 IIS

任何建议都很好

谢谢

答案1

获取 openssl 客户端http://gnuwin32.sourceforge.net/packages/openssl.htm看看密码是如何被调用的。

命令是 openssl s_client -connect网站:港口

您的应用程序很可能有 NTLM 预身份验证,我会查看 IIS 的提供程序并将其禁用。在 HTTP_REQUEST 标头中,您应该会看到类似以下内容:

NTLM=

相关内容