我必须通过 HTTPS 将我的 iPhone 应用程序连接到具有自签名证书的服务器。我无法更改证书或服务器。
由于我不想接受所有自签名证书,仅此一个,我的想法是将证书导入应用程序钥匙串(从文件中读取证书并将其添加到钥匙串中SecItemAdd
)。
如果我在模拟器中运行应用程序,安装证书,然后搜索它的钥匙串(使用SecItemCopyMatching
),找到证书,但连接仍然失败,出现“不受信任的服务器证书”错误。
这是模拟器的问题还是我的应用程序的问题?我还需要做任何其他事情才能使其正常工作吗?或者我可以假设,如果我将证书添加到真实设备上的钥匙串,连接到服务器将成功(我正在使用NSURLConnection.sendSynchronousRequest
)?
谢谢你的帮助!