使用NSURLRequest,我試圖訪問一個有過期證書的網站。當我發送請求,我連接:didFailWithError委託方法被調用,有下列信息:Objective-C/Cocoa:如何接受錯誤的服務器證書?
-1203, NSURLErrorDomain, bad server certificate
我的搜索只打開了一個解決辦法:在的NSURLRequest一個隱藏的類方法:
[NSURLRequest setAllowsAnyHTTPSCertificate:YES forHost:myHost];
但是,我不想在生產應用程序中使用私有API,原因很明顯。
關於怎麼做的任何建議?我是否需要使用CFNetwork API,如果有的話,有兩個問題:
- 我可以使用的任何示例代碼開始?我還沒有找到任何在線。
- 如果我爲此使用CFNetwork,是否必須完全拋棄NSURL?
編輯:
iPhone OS 3.0中引入了這樣一個支持的方法。更多細節在這裏:How to use NSURLConnection to connect with SSL for an untrusted cert?
有問題的網站是在我們的測試環境中,只有訪問內部。我想網絡管理員太便宜或者懶得維護它的有效證書。當然,我們的生產環境擁有有效的證書。由於這種證書隱藏功能在生產中不會啓用或需要,我可以使用專用API來進行測試。我仍然希望以「正確」的方式來做,因爲如果私有API被抽出,我會回到原點。 – 2008-08-19 16:17:34