title: ftp-ssl fails after "Expecting TLS Negotiation"
body: <p>The following code for simple secure-ftp fails on my Windows 7 computer but succeeds on a Server 2012 computer on a different network: If I remove the <code>EnableSsl = true</code> it works fine.</p>
  
  <pre><code>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;
  }
  </code></pre>
  
  <p>I've tried <em>many</em> things. <em>Some</em> of them:</p>
  
  <ul>
  <li>Disabling the firewall. (Though I'm using passive mode)</li>
  <li>Setting port forwarding on my router.</li>
  <li>Using "active".</li>
  <li>Using FileZilla (fails the same way)</li>
  <li>Connecting to the modem by cable</li>
  <li>Much longer timeout</li>
  </ul>
  
  <p>And more.</p>
  
  <p>I always get an exception at <code>(FtpWebResponse)request.GetResponse()</code></p>
  
  <blockquote>
    <p>"Unable to read data from the transport connection: A connection
    attempt failed because the connected party did not properly respond
    after a period of time, or established connection failed because
    connected host has failed to respond."</p>
  </blockquote>
  
  <p>When using Microsoft Network Monitor 3.4 I see that the error seems to be:</p>
  
  <blockquote>
    <p>FTP:Response to Port  , '234  AUTH command ok. Expecting
    TLS Negotiation.'</p>
    
    <p>FTP:Response to Port  , '451  The parameter is incorrect.
    '</p>
  </blockquote>
  
  <p>Any ideas? Can it be that the non-server Windows aren't capable for this by default and something has to be enabled first?</p>