2017-05-22 32 views
1

我在stackoverflow上讀取了this question,所以我知道我無法從應用程序讀取配置文件中已安裝的證書。從OSX複製一個應用程序在調用Web API時使用的p12證書

這是我已經試過:

  1. 複製證書(或.p12),這是自簽名從通過空投我的MacBook。
  2. 然後iPhone會問我安裝它,所以我安裝了。
  3. 現在我可以在Settings->General->Profiles & Device Management中看到證書,但在配置文件中有Signed by以下的紅色字Not Verified。我想這是因爲證書是自簽名的。
  4. 我開發的應用程序使用[NSURLSession dataTaskWithURL: ...]來請求一個網頁,沒有[URLSession: didReceiveChallenge: ...]
  5. 該應用程序得到錯誤Code=-1202 "The certificate for this server is invalid.",這是我安裝證書之前得到的同樣的錯誤。

更新:我又嘗試過了,我注意到,我拿到了證書沒有簽署,也許這就是爲什麼我失敗了,該曲線顯示尚未驗證其真正的原因是什麼?也許我應該問問給我這個證書的同事。

我需要的是從我的OSX中將自簽名證書(.p12)複製到我的iPhone/iPad中,然後開發一個應用程序在調用Web API時將其作爲憑證讀取。

由於每個授權用戶都將獲得不同的證書,因此我不能將證書放在應用的主包中。

我知道我可以通過應用程序下載證書(可能有一些授權令牌),但由於服務器尚未開發此API,因此我需要在測試我的應用程序時手動複製證書。

有人可以教我如何複製證書,並從我的開發應用程序中讀取它。

感謝您的幫助:)

+0

如果這只是爲了調試原因,一個臨時解決方案,直到API完成,我所理解的,爲什麼不添加證書文件Xcode項目/包?如果你需要它在實際的設備上,你只需通過電子郵件發送它,在設備上打開它,在iOS設置應用程序中添加並信任它。 – shallowThought

+0

嗨@shallowThought,謝謝你的回覆。我確實通過電子郵件發送了它,並將其添加到配置文件中,但正如我所提到的,我無法從應用程序的配置文件中讀取證書,您是否對此有其他建議? 我也嘗試使用'[NSURLSession dataTaskWithURL:...]'在配置文件中請求帶有證書的網頁,而沒有實現'[URLSession:didReceiveChallenge:...]',它仍然返回錯誤(Code = 1202「此服務器的證書無效。」) – Griiid

+0

您是否信任該設備? – shallowThought

回答

0

我只是測試這一點:

  • 創建一個自簽名證書。輸入密碼短語,離開一切空:

    openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

  • 通過e-mail

  • 打開iOS設備上的電子郵件請發到自己和打開附件cert.pem文件

  • 在打開的設置菜單中,單擊install

  • 鍵入您的設備通過代碼

  • 點擊確定install

- >結果:受信任的證書:

+0

嗯...我再次嘗試,我注意到,我得到的證書是**沒有簽署**,也許這是我失敗的原因和配置文件顯示**未驗證**的真正原因?也許我應該問問給我這個證書的同事。 – Griiid

+0

這對我有意義。 – shallowThought

相關問題