2010-02-24 73 views
5

我想在iphone模拟器上测试应用程序,该应用程序使用由我们自己的CA签名的证书连接到服务。我可以通过添加具有CA证书的供应配置文件在实际设备上执行此操作。我曾经认为在标准OSX钥匙串中拥有CA证书是可行的,但事实并非如此。iPhone模拟器自定义CA证书

所以我可以通过Safari访问服务而不会发出警告,但是当我尝试在模拟器中运行时遇到错误。

回答

4

crypto api对模拟器不可用。我认为苹果公司的某个人在做出这个决定时正在抽烟,因为我没有看到iPhone如何改变密码算法的出现。为了用这些系统进行开发,您将需要iPhone或iPod touch。

+0

Boo。那么,你说的是SSL在模拟器上根本不起作用? – 2010-02-24 20:29:02

+0

我在模拟器上完成了简单的SSL。这将工作正常。然而,它似乎(根据这篇文章),你不能在模拟器上安装新的证书。是这样吗? – mtmurdock 2011-04-06 22:07:05

+1

您可以在模拟器上安装新证书。它涉及手动将它们添加到模拟器的钥匙串。我看到它的工作方式是将证书添加到设备中,查看设备上创建的数据库条目,然后将其手动复制到模拟器使用的数据库中。可以在http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/ – 2012-11-08 01:46:03

0

当我将仿真器指向我们的一台使用'真正'证书的现场服务器时,似乎可以正常工作。但是我刚刚得到1200个错误,试图让模拟器与我今天早上设置的本地测试服务器通信。

因此,那里必须有加密库(或者我们的应用程序不会与带有真正证书的活服务器对话),但自签名证书似乎确实存在问题。

+1

p.s中找到用于Charles的特定证书的脚本。我可以浏览到这台服务器,并从我的桌面上接受它的证书。 – graham 2011-01-04 23:17:08

1

link工作了设置为yes回到我

canAuthenticateAgainstProtectionSpace方法。 注意:这将接受任何证书,所以应该删除生产版本:即:仅用于测试