我开发了一个发送HTTPS请求的iPhone框架,以便与公共可用的后端服务器进行通信.目前,我对不受信任的服务器证书存在很大问题.
后端服务器的证书未由受信任的CA签名,因此我的第一种方法是使用NSURLRequest的私有allowAnyHTTPSCertificateForHost.虽然这可以按预期工作,并且作为临时解决方案很好,但我们的客户要求最终结果是干净的解决方案.因此,我编写了一种方法,允许从钥匙串中的文件系统安装提供的证书,但此方法在iPhone模拟器中无法正常工作.证书安装在主机的Mac OS X钥匙串中.不幸的是,如果我调用NSURLConnection的sendSynchronousRequest方法,我会检索"不受信任的服务器证书"错误.好像NSURLConnection无法访问主机的Mac OS X钥匙串来检索证书.
我的猜测是正确还是我错过了什么?
如果我在真正的iPhone设备上运行我的应用程序(我还没有可用的),我的方法会工作吗?
iPhone模拟器中是否存在钥匙串?
是否可以在iPhone模拟器上向具有不受信任证书的服务器发送HTTPS请求,或者我是否必须使用预编译器指令来实现不同的例程,具体取决于底层平台(模拟器或设备)?
任何帮助都非常感谢.
谢谢,马蒂亚斯