FTPS加密上传

公司要求ftp接口不能以明文方式传输,所以adc系统将增加ftps方式 但是在网找了很多方式都无法实现
用了
方法一

FtpWebRequest request = (FtpWebRequest)WebRequest.Create(FileUploadPath);
  request.Method = WebRequestMethods.Ftp.ListDirectory;
  request.Credentials = new NetworkCredential(UpLoadUser,UpLoadPWD);

request.EnableSsl = true;
  request.UsePassive = true;
  ServicePointManager.ServerCertificateValidationCallback = delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)  
  { return true; };

FtpWebResponse response = (FtpWebResponse)request.GetResponse();
  Stream responseStream = null;
  StreamReader readStream = null;
  try
  {
  responseStream = response.GetResponseStream();
  readStream = new StreamReader(responseStream, System.Text.Encoding.UTF8);
  if (readStream != null)
  Console.WriteLine(readStream.ReadToEnd());
  }
  finally
  {
  if (readStream != null)
  readStream.Close();
  if (response != null)
  response.Close();
  }

方法二
  public void Upload(string filename)
  {
    
  FileInfo fileInf = new FileInfo(filename);
  string uri = "ftp://" + ftpServerIP + "/" + fileInf.Name;
  FtpWebRequest reqFTP;

// 根据uri创建FtpWebRequest对象  
  reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri("ftp://" + ftpServerIP + "/" + fileInf.Name));

// ftp用户名和密码  
  reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);
  //SSL
  reqFTP.EnableSsl = true;
  // 默认为true,连接不会被关闭  
  // 在一个命令之后被执行  
  reqFTP.KeepAlive = false;
    
  // 指定执行什么命令  
  reqFTP.Method = WebRequestMethods.Ftp.UploadFile;

// 指定数据传输类型  
  reqFTP.UseBinary = true;
  //指定传输模式
  reqFTP.UsePassive =false;

// 上传文件时通知服务器文件的大小  
  reqFTP.ContentLength = fileInf.Length;

// 缓冲大小设置为2kb  
  int buffLength = 2048;

byte[] buff = new byte[buffLength];
  int contentLen;

// 打开一个文件流 (System.IO.FileStream) 去读上传的文件  
  FileStream fs = fileInf.OpenRead();
  try
  {
  // 把上传的文件写入流  
  Stream strm = reqFTP.GetRequestStream();

// 每次读文件流的2kb  
  contentLen = fs.Read(buff, 0, buffLength);

// 流内容没有结束  
  while (contentLen != 0)
  {
  // 把内容从file stream 写入 upload stream  
  strm.Write(buff, 0, contentLen);

contentLen = fs.Read(buff, 0, buffLength);
  }

// 关闭两个流  
  strm.Close();
  fs.Close();
  }
  catch (Exception ex)
  {
  // MessageBox.Show(ex.Message, "Upload Error");
  }
  }

都是报远程链接失败 另外提一下 我们的服务器是不需要校验证书的 端口号是990 一定要是被动模式才能登录
麻烦各位大虾 帮忙看看有什么改进的办法 或者有直接的案例 提供一下

时间: 2024-10-20 13:56:05

FTPS加密上传的相关文章

xml文件加密上传和sftp下载解密基本思路

AES对称加密效率高,对大文件加密适合.RSA非对称加密效率低,更安全,对小文件加密适合. 整理 11:12 2016/8/4 加密:1.xml xml.md5摘要 2.(xml)aes加密 (xml.md5摘要 /n aeskey)RSA公钥加密 解密:1.(xml)aes加密 (xml.md5摘要 /n aeskey)RSA私钥加密 2.(xml)aes加密 (xml.md5摘要 /n aeskey) 3.(xml)aeskey解密 xml.md5摘要 4.xml xml.md5摘要 5.x

git 上传代码到GitHub 以及git删除github上文件和文件的命令

Git入门 如果你完全没有接触过Git,你现在只需要理解通过Git的语法(敲入一些命令)就可以将代码上传到远程的仓库或者下载到本地的仓库(服务器),可知我们此时应该有两个仓库,就是两个放代码的地方,一个是本地,一个是远程的(如Github).企业或者团队可以通过Git来对项目进行管理,每个程序员只需将自己的本地仓库写好的代码上传到远程仓库,另一个程序员就可以下载到本地仓库了.今天我们就从Git终端软件的安装开始,再这之前我也简单介绍一下Github. Git上传代码 一.准备工作 1.注册一个g

初试“七牛云”--零基础运用七牛云配合UEditor实现图片的上传和浏览(.NET篇)

(注册和建立存储空间就不介绍了,网上一把一把的资料,自己试着点点也能明白) 作为一个成熟的菜鸟,如果遇到一个新问题,第一步当然是先百度一下... 看了N个关于七牛云的使用的帖子,表示还是蒙圈的,看懂了一部分,但是不系统,理解的不连贯,作为一个凡是要弄个特别明白的死脑筋,于是开始从头看是研究文档....(以下都是来自http://developer.qiniu.com/article/index.html#quickstart,经过个人精简,如有不明,详情请参阅文档) 先弄明白原理,才能更好的看懂

腾讯对象存储服务COS加密签名上传文件与下载文件的剖析,福利提供给所有使用Android的小伙伴们!

在做一些用户需求的时候,公司往往需要工程师采集到更多有用的关于用户的个人信息,然后对用户群进行分析,今天我不是来分析这些的,今天我主要是说 腾讯推出的款云产品,那就是对象存储服务COS,这个产品面向所有开发者,新用户都有免费享有10G的使用权,10G可能对于做方案的工程师来说可能是微不 足道的,比如后视镜和车载方案,会常常需要用到视频的存储与云分享,当然这里不是只本地存储哦,我指的是用户在使用方案商的方案的时候,比如他开车 的时候录了一段视频需要分享到某个域,共享给大家看,比如微信,这时候他肯定

iOS基础8:自定义MyData/自定义SQLite用于网络判断,版本判断,图片缓存处理,下载或者上传的GET或POST请求,加密手段,.数据解析

镔哥,这篇文章是用自己的工程项目来的,主要是代码为主,但是会有注释,让大家能更好理解,让大家做工程更多一个选择,这其实就是自己自定义SQLite,不多说,见代码例子 MyDAta的.h文件 /* MyData这一个基本上每个工程都能用到的Demo,他包含了很多内容: 1.iPhone机网络判断: 2.iPhone机软件版本判断(主要是看是否是大于IOS7): 3.图片缓存处理: 4.下载或者上传的GET或POST请求: 5.加密手段: 6.数据解析: */ //*****************

实现ios上传加密nodejs后台解密

今天在做项目的时候遇到一个问题,我需要在ios端把上传数据加密,防止中间代理捕获信息内容并修改数据库的信息.把数据传到后台在解码,实现数据安全. 下面介绍我实现的在nodejs的加密和解密的代码希望对需要解决相同问题的有一定的帮助. var assert = require('assert');    var crypto = require('crypto');     function test_des(param) {     var key = new Buffer(param.key)

加密压缩防360云上传

思路很简单,主要是压缩包加密码,这样360也无法识别. 现将文件加密压缩,记住是zip格式.用到一个vbs来解压运行. 然后将两个文件再次捆绑为自解压,解压后运行这个vbs VBS代码: On Error Resume Next Set objWsh = CreateObject("Wscript.shell") objWsh.Run "WinRAR x -o+ -pzuozuo c:\1.zip 1.exe C:\" ,0,true objWsh.Run &quo

C&C控制服务的设计和侦测方法综述——DDoS攻击,上传从宿主机偷窃的到的信息,定时给感染机文件加密勒索等。

这篇文章总结了一些我在安全工作里见到过的千奇百怪的C&C控制服务器的设计方法以及对应的侦测方法,在每个C&C控制服务先介绍黑帽部分即针对不同目的的C&C服务器设计方法,再介绍白帽部分即相关侦测办法,大家来感受一下西方的那一套.这里的白帽部分有一部分侦测方法需要一些数据和统计知识,我也顺便从原理上简单讨论了一下用数据进行安全分析的方法,从数学和数据原理上思考为什么这么做,可以当作数据科学在安全领域的一些例子学习一下. 0x00 什么是C&C服务器 C&C服务器(又称C

Java 数据Entity加密和文件上传

一,数据加密 1.org.apache.commons.codec.digest.DigestUtils 提供了,md5,Hex,Sha等不可逆算法加密 public static String  MD5(String src) { return DigestUtils.md5Hex(src); } public static String  sha256Hex(String src) { return DigestUtils.sha256Hex(src); } 2.  AES加密,此加密方式瘦