我想在 iphone 模拟器上测试一个应用程序,该应用程序使用我们自己的 CA 签名的证书连接到服务。我可以通过添加具有 CA 证书的配置文件在实际设备上执行此操作。我曾认为在标准 OSX 钥匙串中拥有 CA 证书会起作用,但事实并非如此。
因此,我可以通过 Safari 访问该服务而不会发出警告,但是在尝试在模拟器中运行时出现错误。
我想在 iphone 模拟器上测试一个应用程序,该应用程序使用我们自己的 CA 签名的证书连接到服务。我可以通过添加具有 CA 证书的配置文件在实际设备上执行此操作。我曾认为在标准 OSX 钥匙串中拥有 CA 证书会起作用,但事实并非如此。
因此,我可以通过 Safari 访问该服务而不会发出警告,但是在尝试在模拟器中运行时出现错误。
加密 API 对模拟器不可用。我认为苹果公司的某个人在做出这个决定时正在吸烟,因为我看不到拥有 iPhone 会如何改变加密算法的结果。为了使用这些系统进行开发,您需要 iphone 或 ipod touch。
这个链接对我有用
canAuthenticateAgainstProtectionSpace 方法设置为返回是。注意:这将接受任何证书,因此应在生产版本中删除:即:仅用于测试
当我将模拟器指向我们的一台使用“真实”证书的实时服务器时,它似乎工作正常。但是我刚刚收到 1200 个错误,试图让模拟器与我今天早上设置的本地测试服务器通信。
所以那里必须有加密库(或者我们的应用程序不会与具有真实证书的实时服务器通信),但自签名证书似乎肯定存在问题。