Search code examples
iossslios7cfnetwork

CFNetwork Anonymous Ciphers?


Is there any way with CFNetwork to enable anonymous ciphers -- i.e. so we can use SSL connection code to connect to some (weakly protected) servers?


Solution

  • Is there any way with CFNetwork to enable anonymous ciphers

    Yes. Setting the cipher suite is as easy as:

    SSLContextRef ctx = NULL;
    SSLNewContext(NO /*client*/, &ctx);
    
    SSLCipherSuite cipher = TLS_DH_anon_WITH_AES_256_CBC_SHA;
    SSLSetEnabledCiphers(ctx, &cipher, 1);
    ...
    

    Hooking it up to a higher level object, like NSURLConnection, is hard. See Configure socket used by NSURLConnection? on the Apple Networking mailing list.

    Also see Using SSLSetEnabledCiphers with AFNetworking to disable weak ciphers.


    Here are the RADARs that were filled regarding the problem: