Verwenden von SSLSetEnabledCiphers mit AFNetworking, um schwache Verschlüsselungen zu deaktivieren

8

Ich versuche, einige Verschlüsselungen (schwach) zu deaktivieren, wie einzelne DES, einzelne DES 40 Bit usw.

Ich habe versucht, dieses Stück Code von Wie setzt man SSL-Verschlüsselungen bei der Verwendung von CFSocket / CFStream in Cocoa? und aus der Mailinglisten-Nachricht CFNetwork SSL und lange blockierende Verzögerungen , aber ich brauche Zugriff auf Socket-Daten, um die CFDataRef zu erhalten.

Hier ist der Code, den ich in die Handshake-Methode in AFURLConnectionOperation class einfügen wollte:

%Vor%

Jede und jede Hilfe wäre willkommen.

BEARBEITEN: Leider ist dies ein bestehendes Projekt und es verwendet immer noch die Version 1 von AFNetworking.

    
ManicMonkOnMac 28.07.2014, 19:12
quelle

1 Antwort

3
  

Verwenden von SSLSetEnabledCiphers mit AFNetworking, um schwache Verschlüsselungen zu deaktivieren

OK, dieser hat mein Interesse geweckt, weil ich etwas in anderen Sprachen mache, aber nicht Cocoa / CocoaTouch. Es ist seit einiger Zeit auf meiner TODO-Liste. Die Antwort ist, dass Sie es nicht tun können, wenn Sie mit Objekten auf hoher Ebene wie NSURLConnection arbeiten.

Ich könnte nicht einen Weg finden, um die Lücke zwischen NSURLConnection und Freunden und den Low-Level-Zeug zu schließen, die benötigt werden, um die Chiffre-Anzüge zu setzen. Wenn Sie interessiert sind, ist die "höchste", die Low-Level-Zeug geht CFSocketStream . Also besteht die Aufgabe darin, NSURLConnection mit einem CFSocketStream zu arbeiten (oder auf CFSocketStream in NSURLConnection zuzugreifen).

Ich habe auch Ihre Frage auf Apples Network Programming Mailingliste gespiegelt, und sowohl Jens als auch Quinn haben es bestätigt (Quinn lieferte die Info auf CFSocketStream ). Siehe Socket von NSURLConnection konfigurieren? .

Auch wenn Sie es nicht bemerkt haben, ist der Versuch, die Eigenschaften in -connection:didReceiveAuthenticationChallenge: zu ändern, zu spät. Zu dem Zeitpunkt, zu dem Sie die Authentifizierungsanforderung erhalten, wird der Handshake bereits ausgeführt (d. H. Der ClientHello wurde bereits gesendet).

Wenn Sie es schaffen, einen Hack zu finden, dann schreiben Sie es bitte.

    
jww 29.07.2014 18:58
quelle