使用.NET SslStream协商TLS版本时未捕获数据包

时间:2016-05-12 16:07:58

标签: c# .net network-programming wireshark

我的设置是:

  • 我有一个只接受TLS 1.0连接的服务器监听器应用程序。
  • 我有一个使用SslStream.AuthenticateAsClient配置安全连接的客户端应用
  • 我正在使用WireShark来监控客户端和服务器之间的流量

在客户端计算机上,我使用SecurityProviders \ SCHANNEL \ Protocols注册表项来操作我想要使用的TLS版本。如果我强制客户端使用TLS 1.2,我会得到预期的错误“客户端和服务器无法通信,因为它们没有通用算法”。但是,在WireShark中捕获的唯一数据包是TCP 3次握手。

相反,如果我在对SslStream.AuthenticateAsClient的调用中明确指定Tls1.2,我会在WireShark中看到Client Hello和Server Hello TLS消息。当然,我看到了与上面相同的预期错误消息。

我的问题是,当我只使用Registry来操作TLS版本时,为什么我看不到任何通过WireShark发送的TLS数据包? Windows / .NET如何知道远程服务器不支持TLS 1.2?

由于

0 个答案:

没有答案
相关问题