禁用 TLS 1.0 会破坏 ClickOnce 设置
Disabling TLS 1.0 breaks ClickOnce setup
我们有一个 White Hat 要求在我们的网络服务器上禁用 TLS 1.0。
但是,当我们这样做时,我们无法再从服务器安装 ClickOnce 应用程序。 setup.exe 下载,但开始安装时出现以下错误:
无法从传输连接读取数据:现有连接被远程主机强行关闭。
- Source: System
- Stack trace:
at System.Net.Sockets.NetworkStream.Read()
at System.Net.FixedSizeReader.ReadPacket()
at System.Net.Security.SslState.StartReceiveBlob()
at System.Net.Security.SslState.StartSendBlob()
at System.Net.Security.SslState.ForceAuthentication()
at System.Net.Security.SslState.ProcessAuthentication()
at System.Threading.ExecutionContext.RunInternal()
at System.Threading.ExecutionContext.Run()
at System.Threading.ExecutionContext.Run()
at System.Net.TlsStream.ProcessAuthentication()
at System.Net.TlsStream.Write()
at System.Net.ConnectStream.WriteHeaders()
--- Inner Exception ---
System.Net.Sockets.SocketException
- An existing connection was forcibly closed by the remote host
- Source: System
- Stack trace:
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
使用 Wireshark 检查数据包显示 setup.exe 文件正在通过 1.0.0 发送客户端问候消息。这是问题,因为服务器无法响应 1.0 消息。
我知道禁用 TLS 的要求是相当新的,但谷歌搜索这个问题没有任何结果。
有没有人以前遇到过这种情况或有任何修复建议?
我想现在用 release of .net 4.6.2 this one is solved (TLS 1.1 and 1.2 protocols supported in ClickOnce). You should get your build server patched (either 4.5.2 or 4.6.1) 并构建您的 Click Once。
我们有一个 White Hat 要求在我们的网络服务器上禁用 TLS 1.0。
但是,当我们这样做时,我们无法再从服务器安装 ClickOnce 应用程序。 setup.exe 下载,但开始安装时出现以下错误:
无法从传输连接读取数据:现有连接被远程主机强行关闭。
- Source: System - Stack trace: at System.Net.Sockets.NetworkStream.Read() at System.Net.FixedSizeReader.ReadPacket() at System.Net.Security.SslState.StartReceiveBlob() at System.Net.Security.SslState.StartSendBlob() at System.Net.Security.SslState.ForceAuthentication() at System.Net.Security.SslState.ProcessAuthentication() at System.Threading.ExecutionContext.RunInternal() at System.Threading.ExecutionContext.Run() at System.Threading.ExecutionContext.Run() at System.Net.TlsStream.ProcessAuthentication() at System.Net.TlsStream.Write() at System.Net.ConnectStream.WriteHeaders() --- Inner Exception --- System.Net.Sockets.SocketException - An existing connection was forcibly closed by the remote host - Source: System - Stack trace: at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
使用 Wireshark 检查数据包显示 setup.exe 文件正在通过 1.0.0 发送客户端问候消息。这是问题,因为服务器无法响应 1.0 消息。
我知道禁用 TLS 的要求是相当新的,但谷歌搜索这个问题没有任何结果。
有没有人以前遇到过这种情况或有任何修复建议?
我想现在用 release of .net 4.6.2 this one is solved (TLS 1.1 and 1.2 protocols supported in ClickOnce). You should get your build server patched (either 4.5.2 or 4.6.1) 并构建您的 Click Once。