2010-10-07 20 views
2

J'ai besoin d'une connexion FTP TLS pour mon iPhone-App. Une connexion FTP normale fonctionne bien. Mais j'ai aussi besoin d'une connexion TLS sécurisée. Je utilisé le code de d'Apple SimpleFTPSample pour l'iPhone:iOS: Connexion 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]; 

Cela fonctionne très bien pour une connexion FTP normale.

Mais comment configurer une connexion TLS? Je ne suis pas sûr de ce dont j'ai besoin et si une connexion TLS fonctionne?

J'ai essayé un code:

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); 

Mais sans succès. S'il vous plaît, quelqu'un peut-il m'aider? J'ai besoin d'une connexion FTP TLS protégée par un nom d'utilisateur FTP et un mot de passe FTP.

Merci!

Répondre

0

Quand vous dites "FTP TLS" je suppose que vous voulez dire RFC 4217? Je suis assez certain que CFStream ne supporte pas ce protocole. Vous devrez le construire vous-même. Vous voudrez peut-être regarder libcurl comme une bonne solution. J'en suis raisonnablement content pour la gestion de TFTP.

+0

pouvez-vous partager comment construire libcurl sur IOS? J'ai suivi les étapes dans http://www.intelliproject.net/articles/showArticle/index/use_curl_iphone_sdk et http://www.creativealgorithms.com/blog/content/building-libcurl-ios-42#comment-3262, mais quand j'essaie de construire sur xcode, cela me donne des milliers d'erreurs, pouvez-vous m'aider? –

+0

Je ne l'ai pas fait depuis longtemps, mais ce lien ressemble assez à la procédure que j'ai utilisée: http://www.creativealgorithms.com/blog/content/building-libcurl-ios-42 –