使用ftz over ssl在C#中使用filezilla服务器发送文件

时间:2014-02-26 21:27:47

标签: c# ssl ftp filezilla

我正在尝试使用C#中的ftps将文件发送到ftp服务器。我正在使用filezilla服务器进行本地测试。我已经尝试使用常规ftp(没有EnableSsl),它工作正常。我已经环顾四周,我正在尝试设置证书,但我无法让它工作。我一直收到错误:根据验证程序,远程证书无效。在filezilla上,我在设置中使用了“生成证书”并将其保存到桌面。那么我需要使用什么文件来创建证书呢?是一个filezilla生成的吗?如果是这样,它是一个.crt文件,所以我无法使用CreateFromCertFile()方法..

这是我添加证书的地方

X509Certificate cert = X509Certificate.CreateFromCertFile(pathtofile);
  X509CertificateCollection certCollection = new X509CertificateCollection();
  certCollection.Add(cert);

  request.ClientCertificates.Add(cert);

我有像这样的ftp请求

 var request = (FtpWebRequest) WebRequest.Create(fullPath);
      request.UseBinary = true;
      request.Method = WebRequestMethods.Ftp.UploadFile;
      request.EnableSsl = true;
 request.KeepAlive = false;
      request.Credentials = new NetworkCredential(username, password);
      request.UsePassive = true;

提前致谢

1 个答案:

答案 0 :(得分:0)

如果您的证书是自签名的,则需要告知ServicePointManager接受该证书。

ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };