ftp-ssl在“期待TLS协商”后失败

时间:2014-08-19 22:02:23

标签: c# .net ssl ftp

以下安全ftp简单代码在我的Windows 7计算机上失败,但在另一个网络上的Server 2012计算机上运行成功:如果我删除了EnableSsl = true,它可以正常工作。

public static string TheContent(string url, string username, string password)
{
    ServicePointManager.ServerCertificateValidationCallback = OnValidateCertificate;//returns true.

    string result = "";
    FtpWebRequest request = (FtpWebRequest)WebRequest.Create(url);
    request.Timeout = 7000;
    request.EnableSsl = true;
    request.UsePassive = true;
    request.Method = WebRequestMethods.Ftp.ListDirectory;
    request.Credentials = new NetworkCredential(username, password);
    using (FtpWebResponse response = (FtpWebResponse)request.GetResponse())
    using (StreamReader reader = new StreamReader(response.GetResponseStream()))
        result = reader.ReadToEnd();
    return result;
}

我已尝试许多事情。 其中一些

  • 禁用防火墙。 (虽然我正在使用被动模式)
  • 在我的路由器上设置端口转发。
  • 使用“有效”。
  • 使用FileZilla(以同样的方式失败)
  • 通过电缆连接调制解调器
  • 更长时间超时

还有更多。

我总是在(FtpWebResponse)request.GetResponse()

处获得例外
  

“无法从传输连接读取数据:连接   尝试失败,因为关联方没有正确回应   一段时间后,或建立连接失败,因为   连接主机未能回复。“

使用Microsoft Network Monitor 3.4时,我发现错误似乎是:

  

FTP:响应端口,'234 AUTH命令ok。期待   TLS谈判。'

     

FTP:响应端口,'451参数不正确。   “

有什么想法吗?可能是因为默认情况下非服务器Windows不具备此功能,必须先启用某些功能吗?

0 个答案:

没有答案