使用NSURLRequest,我试图访问一个有过期证书的网站。当我发送请求,我连接:didFailWithError委托方法被调用,有下列信息:Objective-C/Cocoa:如何接受错误的服务器证书?
-1203, NSURLErrorDomain, bad server certificate
我的搜索只打开了一个解决办法:在的NSURLRequest一个隐藏的类方法:
[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:myHost];
但是,我不想在生产应用程序中使用私有API,原因很明显。
关于怎么做的任何建议?我是否需要使用CFNetwork API,如果有的话,有两个问题:
- 我可以使用的任何示例代码开始?我还没有找到任何在线。
- 如果我为此使用CFNetwork,是否必须完全抛弃NSURL?
编辑:
iPhone OS 3.0中引入了这样一个支持的方法。更多细节在这里:How to use NSURLConnection to connect with SSL for an untrusted cert?
有问题的网站是在我们的测试环境中,只有访问内部。我想网络管理员太便宜或者懒得维护它的有效证书。当然,我们的生产环境拥有有效的证书。由于这种证书隐藏功能在生产中不会启用或需要,我可以使用专用API来进行测试。我仍然希望以“正确”的方式来做,因为如果私有API被抽出,我会回到原点。 – 2008-08-19 16:17:34