我正在尝试使用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;
提前致谢
答案 0 :(得分:0)
如果您的证书是自签名的,则需要告知ServicePointManager
接受该证书。
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };