2010-01-12 24 views
6

我開發了一個iPhone框架,它發送HTTPS請求以便與公共可用的後端服務器進行通信。目前,我有一個關於不可信服務器證書的大問題。如何將HTTPS請求發送到iPhone Simulator中的不受信任的服務器證書?

後端服務器的證書不是由受信任的CA簽署的,所以我的第一個方法是使用的NSURLRequest的私人allowsAnyHTTPSCertificateForHost。儘管這種方式按預期工作,並且在臨時解決方案中仍然很好,但作爲最終結果,我們的客戶需要一個乾淨的解決方案因此,我編寫了一種方法,允許從文件系統安裝Keychain中提供的證書,但此方法在iPhone Simulator中無法正常工作。相反,證書安裝在主機的Mac OS X鑰匙串中。不幸的是,如果我調用NSURLConnection的sendSynchronousRequest方法,我會檢索一個「不受信任的服務器證書」錯誤。看起來好像NSURLConnection無法訪問主機的Mac OS X鑰匙串來檢索證書。

是我的猜想正確的還是我錯過了什麼?

請問我的方法工作,如果我跑我的應用程序真正的iPhone設備上,而不是(我沒有一個產品尚未推出)?

是否在iPhone模擬器存在一個鑰匙扣呢?

是否有可能在iPhone模擬器上向帶有不可信證書的服務器發送HTTPS請求,還是必須使用預編譯器指令來實現取決於底層平臺(分別爲模擬器或設備)的不同例程?

任何幫助,高度讚賞。在http://startssl.com

+0

可能的重複[如何使用NSURLConnection與SSL連接爲不可信的證書?](http://stackoverflow.com/questions/933331/how-to-use-nsurlconnection-to-connect-with-ssl- for-an-untrusted-cert) – 2014-05-21 07:12:27

回答

1

您可以免費獲得信任的SSL證書也許ASIHTTPRequest庫可以提供幫助的?

+0

我剛試過,它仍然顯示爲「不可信」......也許我做錯了什麼。 – 2014-04-02 02:39:04

0

感謝, 馬蒂亞斯

0

是同意拍Bolli但我已經通過NSURL這樣做request.may是你跳過spmething。

相關問題