【发布时间】:2010-10-07 16:47:01
【问题描述】:
我的 iPhone 应用需要 FTP TLS 连接。正常的 FTP 连接工作正常。但我还需要一个安全的 TLS 连接。 我为 iPhone 使用了 Apple 的 SimpleFTPSample 中的代码:
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 连接。
谢谢!
【问题讨论】:
标签: iphone objective-c ftp ios inputstream