OBJECTIVE C - Objective-C/Cocoa: How do I accept a bad server certificate?

Using NSURLRequest, I am trying to access a web site that has an expired certificate. When I send the request, my connection:didFailWithError delegate method is invoked with the following info:

-1203, NSURLErrorDomain, bad server certificate

My searches have only turned up one solution: a hidden class method in NSURLRequest:

[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:myHost];

However, I don't want to use private APIs in a production app for obvious reasons.

Any suggestions on what to do? Do I need to use CFNetwork APIs, and if so, two questions:

  • Any sample code I can use to get started? I haven't found any online.
  • If I use CFNetwork for this, do I have to ditch NSURL entirely?

EDIT:

iPhone OS 3.0 introduced a supported method for doing this. More details here: http://efreedom.com/Question/1-933331/how-to-use-nsurlconnection-to-connect-with-ssl-for-an-untrusted-cert

This question and answers originated from www.stackoverflow.com
Question by (8/18/2008 9:40:01 PM)

Answer

iPhone OS 3.0 introduced a supported way of doing this that doesn't require the lower-level CFNetwork APIs. More details here:

http://efreedom.com/Question/1-933331/how-to-use-nsurlconnection-to-connect-with-ssl-for-an-untrusted-cert

Answer by

Find More Answers
Related Topics  objective-c  cocoa  networking
Related Questions