当前位置:编程学习 > C#/ASP.NET >>

ftp怎么过SSL安全认证访问的

 直接访问普通的FTP可以哦。但是不能访问有SSL安全证书的FTP。
Request.EnableSsl = true;有人说加这个就可以了。但是没用的。
最后得到的line值是null。



        private void button1_Click(object sender, EventArgs e)
        {
            StringBuilder builder = new StringBuilder();
            FtpWebRequest Request = null;
            FtpWebResponse Response = null;
            StreamReader FtpResponseStreat = null;

            Request = (FtpWebRequest)FtpWebRequest.Create(new Uri(@"ftp://192.168.103.100"));
            Request.UseBinary = true;
            Request.EnableSsl = true;
            Request.Credentials = new NetworkCredential("huic", "girls123");
            Request.Method = WebRequestMethods.Ftp.ListDirectory;
            try
            {
                Response = (FtpWebResponse)Request.GetResponse();
            }
            catch (WebException ex)
            {
                Response = (FtpWebResponse)ex.Response;
            }
            FtpResponseStreat = new StreamReader(Response.GetResponseStream());
            string line = FtpResponseStreat.ReadLine();
            while (line != null)
            {
                builder.Append(line);
                builder.Append("\n");
                line = FtpResponseStreat.ReadLine();
            }
            builder.Remove(builder.ToString().LastIndexOf('\n'), 1);
            string[] str = builder.ToString().Split('\n');
            foreach (string st in str)
            {
                MessageBox.Show(st);
            }
        } --------------------编程问答-------------------- 在线等哇。!谁碰过这类问题的指点下啊。。 --------------------编程问答-------------------- hwrRequest.ClientCertificates.Add(X509Certificate.CreateFromCertFile("c:\\motor.https.pem.cer")); 
这是我自己找到的资料。。从本地加载证书。!但是这个证书是从哪找的呢?!在那台服务器上导过来的吗?还是怎么说? --------------------编程问答--------------------
引用 2 楼 dqzg12300 的回复:
hwrRequest.ClientCertificates.Add(X509Certificate.CreateFromCertFile("c:\\motor.https.pem.cer")); 
这是我自己找到的资料。。从本地加载证书。!但是这个证书是从哪找的呢?!在那台服务器上导过来的吗?还是怎么说?


证书就是Ftp服务器用的那个证书吧,可以从服务器导出来。 --------------------编程问答-------------------- 首先要理解人家FTP服务器那边SSL怎么配置的。连接FTPS服务器,一般FtpRequest比较困难,因为微软的封装没有完整覆盖FTPS协议的全部内容。

CodePlex上面有几个开源项目都能够连接FTPS,你可以参考,

http://www.codeplex.com/site/search?query=FTP%20SSL
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,