Frage

Nach dem Verbinden (auf einen FTP, zunächst ohne SSL) Ich betreiben:

NSArray *objects = [NSArray arrayWithObjects:@"proxy.ip", [NSNumber numberWithInt:1080], NSStreamSOCKSProxyVersion5, @"user", @"pass", nil];
NSArray *keys = [NSArray arrayWithObjects:NSStreamSOCKSProxyHostKey, NSStreamSOCKSProxyPortKey, NSStreamSOCKSProxyVersionKey, NSStreamSOCKSProxyUserKey, NSStreamSOCKSProxyPasswordKey, nil];
NSDictionary *proxyDictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];

[iStream retain];
[iStream setDelegate:self];
[iStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[iStream setProperty:proxyDictionary forKey:NSStreamSOCKSProxyConfigurationKey];
[iStream open];

gleiche gilt für iStream. Dies ermöglicht es mir erfolgreich durch einen socks5 Proxy zu verbinden. Wenn ich ohne setProperty weiter: proxyDictionary ... (socks5 deaktiviert) Ich würde den Server-Schalter auf SSL sagen, und dann erfolgreich, diese Einstellungen zu den Ein- / Ausgabeströme gelten, damit mir eine SSL-Verbindung geben:

NSMutableDictionary *settings = [NSMutableDictionary dictionaryWithCapacity:1];
[settings setObject:(NSString *)NSStreamSocketSecurityLevelTLSv1 forKey:(NSString *)kCFStreamSSLLevel];
// to allow selfsigned certificates:
[settings setObject:[NSNumber numberWithBool:YES] forKey:(NSString *)kCFStreamSSLAllowsAnyRoot];
[iStream retain];   
[iStream setDelegate:self];
[iStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
CFReadStreamSetProperty((CFReadStreamRef)iStream, kCFStreamPropertySSLSettings, (CFTypeRef)settings);
//[iStream setProperty:NSStreamSocketSecurityLevelTLSv1 forKey:NSStreamSocketSecurityLevelKey]; <-- needs to be default or unset, then it works.

gleiche gilt für oStream. All das funktioniert gut, wenn ich deaktivieren socks5. Wenn ich drehe es auf (Linie 7 in der ersten snippit) ich den Kontakt verlieren, wenn die SSL-Einstellungen anwenden.

Wenn ich raten müsste, würde ich denke es einige Eigenschaften verliert bei der Anwendung (ssl) „Einstellungen“?

Bitte Hilfe:)

  • Evan
War es hilfreich?

Lösung

Lösung wurde in Problem NSStream SSL-Verbindung , sollte ich nicht gesetzt die Sicherheitsstufe. Ich habe meinen obigen Beitrag zu einer Arbeitslösung bearbeitet werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top