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