clickonce - 禁用 TLS 1.0 会破坏 ClickOnce 设置

标签 clickonce

我们有一个白帽要求在我们的网络服务器上禁用 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 发送客户端问候消息。这是问题,因为服务器无法响应 1.0 消息。

我知道禁用 TLS 的要求是相当新的,但谷歌搜索这个问题一无所获。

有没有人以前遇到过这种情况或有任何修复建议?

最佳答案

我想现在有一个 release of .net 4.6.2这个已解决(ClickOnce 支持 TLS 1.1 和 1.2 协议(protocol))。您应该为构建服务器打补丁(4.5.24.6.1)并构建您的 Click Once。

关于clickonce - 禁用 TLS 1.0 会破坏 ClickOnce 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31166990/

相关文章:

c# - 向 Clickonce 应用程序添加启动屏幕

.net - 转换为 .NET 4 后 ClickOnce 升级失败

c# - 带有 .NET Framework 4.0 的 Windows XP SP3 上的 .NET Framework 3.0 应用程序

.net - 单元测试安全模型 ClickOnce

javascript - ClickOnce:如何从网络自动启动安装/启动

windows - ClickOnce 应用程序安装失败详细日志位置

visual-studio-2010 - 单击一次发布 VS 2012 停止的其他文件

c# - 使用 WinForms 创建 dpi 感知 C# clickonce 应用程序

c# - 无需单击安装新版本按钮即可在无人服务器上自动更新 ClickOnce

c# - 卸载 SQL Server Express 2005,然后在 C# ClickOnce Winform App 中安装 SQL Server 2008 R2 Express