我在stackoverflow上讀取了this question,所以我知道我無法從應用程序讀取配置文件中已安裝的證書。從OSX複製一個應用程序在調用Web API時使用的p12證書
這是我已經試過:
- 複製證書(或.p12),這是自簽名從通過空投我的MacBook。
- 然後iPhone會問我安裝它,所以我安裝了。
- 現在我可以在
Settings->General->Profiles & Device Management
中看到證書,但在配置文件中有Signed by
以下的紅色字Not Verified
。我想這是因爲證書是自簽名的。 - 我開發的應用程序使用
[NSURLSession dataTaskWithURL: ...]
來請求一個網頁,沒有[URLSession: didReceiveChallenge: ...]
。 - 該應用程序得到錯誤
Code=-1202 "The certificate for this server is invalid."
,這是我安裝證書之前得到的同樣的錯誤。
更新:我又嘗試過了,我注意到,我拿到了證書沒有簽署,也許這就是爲什麼我失敗了,該曲線顯示尚未驗證其真正的原因是什麼?也許我應該問問給我這個證書的同事。
我需要的是從我的OSX中將自簽名證書(.p12)複製到我的iPhone/iPad中,然後開發一個應用程序在調用Web API時將其作爲憑證讀取。
由於每個授權用戶都將獲得不同的證書,因此我不能將證書放在應用的主包中。
我知道我可以通過應用程序下載證書(可能有一些授權令牌),但由於服務器尚未開發此API,因此我需要在測試我的應用程序時手動複製證書。
有人可以教我如何複製證書,並從我的開發應用程序中讀取它。
感謝您的幫助:)
如果這只是爲了調試原因,一個臨時解決方案,直到API完成,我所理解的,爲什麼不添加證書文件Xcode項目/包?如果你需要它在實際的設備上,你只需通過電子郵件發送它,在設備上打開它,在iOS設置應用程序中添加並信任它。 – shallowThought
嗨@shallowThought,謝謝你的回覆。我確實通過電子郵件發送了它,並將其添加到配置文件中,但正如我所提到的,我無法從應用程序的配置文件中讀取證書,您是否對此有其他建議? 我也嘗試使用'[NSURLSession dataTaskWithURL:...]'在配置文件中請求帶有證書的網頁,而沒有實現'[URLSession:didReceiveChallenge:...]',它仍然返回錯誤(Code = 1202「此服務器的證書無效。」) – Griiid
您是否信任該設備? – shallowThought