2014-10-30 20 views
6

W odniesieniu do niedawnego zagrożenia bezpieczeństwa z SSLv3, https://isc.sans.edu/forums/diary/OpenSSL+SSLv3+POODLE+Vulnerability+Official+Release/18827Jak wyłączyć SSLv3 dla NSURLConnection lub NSURLSession

Jak mogę dokonać bezpiecznej komunikacji NSURLConnection z tym zagrożeniem?

Czy mogę wyłączyć programowo sslv3 w systemie iOS?

Czy jest jakiś sposób w systemie iOS, dzięki któremu mogę uzyskać listę obsługiwanych protokołów zabezpieczeń z adresu URL serwera?

+0

Próbowałem przez ustawienie TLSMinimumSupportedProtocol na kTLSProtocol12, ale nadal komunikuje się z serwerem sslv3. –

Odpowiedz

2

Wymyśliłem sposób, aby ustawić go w NSURLSession, ale nadal boryka się z NSURLConnection.

NSURLSessionConfiguration *config = 
[NSURLSessionConfiguration defaultSessionConfiguration]; 
config.TLSMaximumSupportedProtocol = kTLSProtocol12; 
config.TLSMinimumSupportedProtocol = kTLSProtocol12 
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfig]; 
+0

[TLSMinimumSupportedProtocol] (https://developer.apple.com/library/ios/documentation/Foundation/Reference/NSURLSessionConfiguration_class/#//apple_ref/occ/instp/NSURLSessionConfiguration/TLSMinimumSupportedProtocol) i [stałe protokołu SSL] (https: //developer.apple.com/library/ios/documentation/Security/Reference/secureTransportRef/index.html#//apple_ref/c/tdef/SSLProtocol) –

1

W zależności od sposobu połączenia spróbuj użyć kCFStreamSocketSecurityLevelTLSv1 zamiast kCFStreamSocketSecurityLevelNegotiatedSSL.

+0

Czy to możliwe, aby używać tych ustawień z NSURLConnection. Albo muszę zaimplementować do tego celu interfejsy API gniazd. Czy jest dostępna biblioteka gniazd połączeniowych dostępna w iOS, która zapewnia obsługę żądań GET/POST. –