2010-02-24 69 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方法。 注意:這將接受任何證書,所以應該刪除生產版本:即:僅用於測試