iOS:FTP TLS连接
问题描述:
我需要为我的iPhone应用程序提供FTP TLS连接。一个正常的FTP连接工作正常。但我还需要一个安全的TLS连接。 我使用Apple's SimpleFTPSample为iPhone代码:iOS:FTP TLS连接
ftpStream = CFReadStreamCreateWithFTPURL(NULL, (CFURLRef) url);
self.networkStream = (NSInputStream *) ftpStream;
[self.networkStream retain];
self.networkStream.delegate = self;
CFReadStreamSetProperty((CFReadStreamRef)self.networkStream, kCFStreamPropertyFTPUserName, (CFStringRef)@"ftpuser");
CFReadStreamSetProperty((CFReadStreamRef)self.networkStream, kCFStreamPropertyFTPPassword, (CFStringRef)myFTPPassWord);
[self.networkStream scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
[self.networkStream open];
也能正常工作的正常FTP连接。
但是,如何设置TLS连接? 我不确定我需要什么,如果TLS连接有效?
我尝试了一些代码:
NSMutableDictionary *settings = [NSMutableDictionary dictionaryWithCapacity:5];
[settings setObject:(NSString *)NSStreamSocketSecurityLevelTLSv1 forKey:(NSString *)kCFStreamSSLLevel];
[settings setObject:[NSNumber numberWithBool:YES] forKey:(NSString *)kCFStreamSSLAllowsAnyRoot];
CFReadStreamSetProperty((CFReadStreamRef)self.networkStream, kCFStreamPropertySSLSettings, (CFTypeRef)settings);
但没有成功。请有人帮助我。 我需要一个受FTP用户名和FTP密码保护的FTP TLS连接。
谢谢!
答
当你说“FTP TLS”时,我认为你的意思是RFC 4217?我很确定CFStream不支持该协议。你必须自己构建它。你可能想看看libcurl作为一个很好的解决方案。我对于管理TFTP非常满意。
你能分享如何在IOS上构建libcurl吗?我按照http://www.intelliproject.net/articles/showArticle/index/use_curl_iphone_sdk和http://www.creativealgorithms.com/blog/content/building-libcurl-ios-42#comment-3262中的步骤操作,但是当我尝试在xcode上构建时,它给了我成千上万的错误,你能帮助我吗? – 2011-06-01 09:12:16
我很久没有做过,但是这个链接看起来和我用过的程序非常相似:http://www.creativealgorithms.com/blog/content/building-libcurl-ios-42 – 2011-06-01 13:07:09