【问题标题】:iOS: FTP TLS ConnectioniOS:FTP TLS 连接
【发布时间】: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


    【解决方案1】:

    当您说“FTP TLS”时,我假设您的意思是 RFC 4217?我相当确定 CFStream 不支持该协议。你必须自己建立它。您可能希望将libcurl 视为一个很好的解决方案。我对它管理 TFTP 感到相当满意。

    【讨论】:

    猜你喜欢
    • 2016-05-01
    • 1970-01-01
    • 2018-08-17
    • 2017-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    相关资源
    最近更新 更多