代理+ SSL:从传输流中收到意外的EOF或0字节

时间:2016-12-10 00:20:21

标签: c# .net ssl proxy certificate

我确实拥有HTTP客户端的简易版本,并且通过代理连接存在问题。代理在浏览器中正常工作,但在我的应用程序中无效。

当我正在阅读流时:

private void OnStreamRead(IAsyncResult ar)
{
    int read = _stream.EndRead(ar);

我在EndRead上收到下一个异常:

  

发生了'System.IO.IOException'类型的第一次机会异常   System.dll中

     

附加信息:收到意外的EOF或0字节   运输流。

此例外仅适用于https网站,仅适用于某些代理。

我发现在使用服务器进行身份验证时,某些问题可能出现在.net中。 我尝试了所有可能的协议类型组合:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;
sslStream.AuthenticateAsClient(host, new X509CertificateCollection(), SslProtocols.Tls11, false);

身份验证看起来像这样:

if (clientRequest.IsSSLConnection)
{
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3;
    var sslStream = new SslStream(serverStream, false,
    HttpHelper.AcceptAllCertificationsCallback);
    sslStream.AuthenticateAsClient(host, new X509CertificateCollection(), SslProtocols.Tls11, false);

    serverStream = sslStream;
}

我可以尝试做任何其他想法吗?

0 个答案:

没有答案