【问题标题】:Received an unexpected EOF or 0 bytes from the transport stream when getting request stream from ssl webservice从 ssl webservice 获取请求流时,从传输流中接收到意外的 EOF 或 0 字节
【发布时间】:2017-03-22 23:15:31
【问题描述】:

我正在使用 HttpWebRequest 从 ASP.net 2.0 Web 应用程序中使用 ssl V3 连接到 Java Web 服务。当我调用 GetRequestStream 时,我收到错误“从传输流接收到意外的 EOF 或 0 字节”。我尝试添加 ServerCertificateValidationCallback 并返回 true 以忽略服务器证书的任何问题并将安全协议设置为 ssl3 或 tls。 我确保我从站点下载了证书,并将其根证书链安装在 localMachine 存储位置的受信任根目录中。我还将站点的证书安装到 LocalMachine 的个人和受信任的人员存储中。然而,我仍然得到同样的错误。 我不确定目前还可以尝试什么。

以下是我连接到网络服务的代码:

 HttpWebRequest myReq =
                (HttpWebRequest)WebRequest.Create(Url);
            myReq.Method = "POST";
            ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };

            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3| SecurityProtocolType.Tls;

            byte [] lbPostBuffer = System.Text.Encoding.GetEncoding(1252).GetBytes(sb.ToString());
            myReq.ContentType = "text/xml; charset=utf-8";
            myReq.ContentLength = lbPostBuffer.Length;
            myReq.Accept = "text/xml";

            Stream loPostData = myReq.GetRequestStream();

感谢任何帮助。提前致谢!!

【问题讨论】:

    标签: asp.net ssl httpwebrequest


    【解决方案1】:

    我找到了答案。看起来我试图连接的网络服务正在使用更高的 tls 版本。我必须更新我的应用程序以使用 .net framework 4.5 才能执行以下操作:

    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11;
    

    【讨论】:

    【解决方案2】:

    我也在处理这个错误,不过它只发生在我的 Windows XP 机器上。 您是否在 Windows 7 或更高版本中尝试过?

    【讨论】:

    • 我在 windows server 2008 上运行我的。我会尝试其他版本的 windows 看看我是否得到不同的结果。谢谢!如果您找到问题的解决方案,请告诉我。
    • 我尝试在 Windows 7 上使用 Chrome 运行我的应用程序,但仍然遇到相同的错误。当我在 Windows Server 2008 R2 上运行我的应用程序时,我使用的是 Internet Explorer。我将尝试看看是否可以让我的应用程序指定使用 Tls1.2 而不是 sslV3 或 Tls1。
    • 我发现了我的问题@user3755567。我必须更新我的应用程序以使用 .net 框架版本 4.5 才能指定更高的 tls 版本:
    • 与 user3755567 相同,我只在 Windows XP 上运行我的代码时出现此错误。任何更高版本的 Windows 和完全相同的代码都可以正常工作。我的代码是使用 .net framework 3.5 编译的 - 我将尝试在较新版本的 .net 下重新编译,看看是否能解决问题。
    • 提高到 dotnet 版本 4.0 并没有阻止 Windows XP 上发生异常。我没有尝试 4.5 版本,因为我的 XP 测试机没有安装该框架。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-16
    • 2018-05-27
    • 2016-06-07
    • 1970-01-01
    相关资源
    最近更新 更多