Tag: ftps

有没有办法使用FtpWebRequest使用C#中的客户端证书对FTP进行身份validation?

我正在尝试将文件上传到FTP服务器,我需要使用客户端证书进行身份validation,而不是用户名和密码。 var fullFtpPath = String.Concat(ftpItem.FtpAddress, “/”, record, “.txt”); FtpWebRequest request = (FtpWebRequest) WebRequest.Create(fullFtpPath); request.Credentials = new NetworkCredential(ftpItem.Username, ftpItem.Password); request.Method = WebRequestMethods.Ftp.UploadFile; request.UseBinary = true; request.UsePassive = ftpItem.UsePassive; request.EnableSsl = ftpItem.UseSSL; request.ContentLength = bytes.Length; using(Stream s = request.GetRequestStream()) { s.Write(bytes, 0, bytes.Length); } FtpWebResponse response = (FtpWebResponse) request.GetResponse(); Debug.WriteLine(“Upload File Complete, status {0}”, response.StatusDescription); db.LogExport(siteId, fullFtpPath, […]

在C#(.NET 4.6)中关闭保持活动的FTP或FTPS连接的最佳方法?

在C#(.NET 4.6)中,我使用保持活动的FTPS连接来下载循环中的几个文件,如下所示: foreach (string filename in filenames) { string requestUriString = GetFtpUriString(myDir) + “/” + filename; FtpWebRequest request = (FtpWebRequest)WebRequest.Create(requestUriString); request.Method = WebRequestMethods.Ftp.DownloadFile; request.Credentials = new NetworkCredential(myFtpsUsername, myFtpsPassword); request.EnableSsl = true; request.ConnectionGroupName = myConnectionGroupName; request.KeepAlive = true; … do something … } 循环完成后,我想关闭连接。 我找不到直接的方法来实现这一目标。 我想出的是以下解决方法,它会向FTP服务器发出另一个低占用空间的请求,这次KeepAlive标志设置为false : FtpWebRequest request = (FtpWebRequest)WebRequest.Create(GetFtpUriString(myDir)); request.Method = WebRequestMethods.Ftp.PrintWorkingDirectory; request.Credentials = […]

FTP / FTPS / SFTP之间的区别 – 与其中任何一个的可配置连接

我需要创建一个C#应用程序,根据app.config文件中输入的设置(使用“ftp \ ftps \ sftp”)将excel文件上传到“FTP / SFTP”服务器。 我很满意这些协议,有很多疑问。 FTP和SFTP服务器有什么区别? 是否可以使用SFTP连接方法访问FTP服务器,反之亦然(指导使用Rebex库连接到SFTP)? 如何将以下FTP上传方法更改为FTPS 代码如下: string PureFileName = new FileInfo(fileName).Name; string uploadUrl = String.Format(“ftp://{0}/{1}”, ftpurl, PureFileName); FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create(uploadUrl); req.Proxy = null; req.Method = WebRequestMethods.Ftp.UploadFile; req.Credentials = new NetworkCredential(user, pass); req.UseBinary = true; req.UsePassive = true; byte[] data = File.ReadAllBytes(fileName); req.ContentLength = data.Length; Stream stream = req.GetRequestStream(); […]

如何validation证书?

我刚刚开始一个项目,我将需要使用FTPS连接到第三方服务器。 他们将向我们提供我尚未拥有的证书,因此我将创建自己的开发环境以便开始使用。 我使用Alex FTPS客户端作为我的起点( http://ftps.codeplex.com/ )…但我也愿意将WinSCP用作其他客户端。 我的问题如下: – 如何在.Net中validation证书? 已完成的步骤 已安装和配置的FileZilla Server 使用FileZilla创建了自签名证书 3.在Alex FTPS客户端中,他们使用此签名进行回调 private static bool ValidateTestServerCertificate( object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { // what goes here? } 我的(各种问题)是: 什么假设进入该方法? 我只对证书有一点了解。 FileZilla自生成证书甚至是X509证书吗? 我必须承认,我不知道不同类型的证书格式。 我写的是什么类型的代码? 当我在WCF或HTTP中使用SSL时,已经为我处理了很多管道。 这不是FTPS的情况吗? 即我将使用Windows中的MMC管理单元控制台导入或安装证书。 如果我没有在Alex FTPS中实现Callback方法,我收到消息:“远程证书根据validation程序无效” 感谢您提供任何提示和指示

使用C#.Net通过FTPS(SSL / TLS)传输文件

我正在编写一个通过FTP站点同步文件的应用程序。 现在它正在通过常规FTP连接,但现在我们的IT人员希望通过安全的FTPS连接进行设置。 他们为我提供了一个* .cr_证书文件。 如果我在记事本中打开文件,我会看到类似的东西(但真正的键显然不是foobar)。 —–BEGIN RSA PRIVATE FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR —–END RSA PRIVATE KEY—– —–BEGIN CERTIFICATE—– FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR FOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBARFOOBAR —–END CERTIFICATE—– 如何使用此证书文件连接到FTPS服务器以上载和下载文件? 原谅我,但我对涉及通过网络传输文件,安全连接,证书,公钥,私钥等等的任何事情都很陌生……等等…… 我想我想使用FtpWebRequest对象并将EnableSsl属性设置为true。 但我不确定这个证书文件在哪里发挥作用。

.NET FtpWebRequest是否支持隐式(FTPS)和显式(FTPES)?

我被要求支持隐式和显式FTPS(也称为FTPES)。 我们目前正在使用.NET FtpWebRequest 。 FtpWebRequest是否支持两种类型的FTPES,有什么区别? 谢谢