У меня нет понятия, как сделать FTPS (FTP через SSL) на iPhone. Я хотел бы использовать следующий код:iPhone FTPS клиент
ftpStream = CFWriteStreamCreateWithFTPURL(NULL, (CFURLRef) url);
CFWriteStreamSetProperty(ftpStream, kCFStreamPropertyFTPUserName,username);
CFWriteStreamSetProperty(ftpStream, kCFStreamPropertyFTPPassword,password);
self.networkStream = (NSOutputStream *) ftpStream;
[self.networkStream setProperty:NSStreamSocketSecurityLevelSSLv3 forKey:(id)NSStreamSocketSecurityLevelKey];
self.networkStream.delegate = self;
[self.networkStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[self.networkStream open];
...
- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode
{
NSLog(@"Hello\n");
}
Этот код подключается к серверу, а затем прекращает говорить все вместе. Я также попытался использовать следующее, чтобы установить уровень безопасности
NSDictionary *settings = [NSDictionary dictionaryWithObjectsAndKeys:
(NSString *)kCFStreamSocketSecurityLevelSSLv3, kCFStreamSSLLevel,
kCFBooleanTrue, kCFStreamSSLAllowsAnyRoot,
kCFBooleanFalse, kCFStreamSSLValidatesCertificateChain,
hostName, kCFStreamSSLPeerName,
kCFBooleanFalse, kCFStreamSSLIsServer,
kCFBooleanFalse,kCFStreamSSLValidatesCertificateChain,
kCFBooleanTrue, kCFStreamSSLAllowsExpiredCertificates,
kCFBooleanTrue, kCFStreamSSLAllowsExpiredRoots,
nil];
CFWriteStreamSetProperty(ftpStream, kCFStreamPropertySSLSettings, settings);
Это позволяет мне соединять и передавать данные, но не через SSL.
Любая идея, что я делаю неправильно.