禁用TLS 1.0会中断ClickOnce设置

禁用TLS 1.0会中断ClickOnce设置,clickonce,Clickonce,我们需要在web服务器上禁用TLS 1.0 但是,当我们这样做时,我们就不能再从服务器上安装ClickOnce应用程序了。setup.exe将下载,但在启动安装程序时会出现以下错误: 无法从传输连接读取数据:远程主机强制关闭了现有连接 - Source: System - Stack trace: at System.Net.Sockets.NetworkStream.Read() at System.Net.FixedSizeReader.ReadPacket() a

我们需要在web服务器上禁用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发送客户端Hello消息。这就是问题所在,因为服务器无法响应1.0消息

我理解禁用TLS的要求是相当新的,但谷歌在这个问题上什么也没有发现


以前有没有人经历过这种情况,或者对修复有什么建议?

我想现在有了一个解决方案,这个问题就解决了(ClickOnce支持TLS 1.1和1.2协议)。您应该修补生成服务器(或),然后单击一次生成。

您在上找到解决方案了吗?我也有同样的问题,但我不知道该怎么办。我们的解决方案是设置一个单独的web服务器,启用TLS 1.0,并在那里托管ClickOnce应用程序。这让我们关闭了主web服务器上的TLS 1.0(这让白帽人很高兴),没有人关心另一台服务器,因为它只有ClickOnce应用程序。我尝试通过VS 2013发布安装程序,并将project转换为.NET 4.5,但没有帮助。是否需要使用4.6.2(或类似版本)构建它或者,如果它是使用旧版本(如4.5)构建的,但安装了4.6.2,用户是否可以安装它?我们得到的结果好坏参半——我们有一个用4.5构建的应用程序,有些人即使安装了4.6.1也无法安装,但我能够。