2013年2月14日 星期四

iOS 憑證、金鑰管理與備份

了解了 private key, public key, .CSR, .cer 檔案彼此的關係後

接下來就是怎麼管理的問題

先回顧一下

建立 CSR 時,會產生對應的 private key, public key

上傳 .CSR 產生 .cer 時,產生的 .cer 只有在存在對應的 private key 的電腦中才能用

首先,先記得一件事情

已經由 .cer 檔案有效簽署的 iOS app 在撤銷對應的 .cer 時,是不會受到影響的

而推播所用的 ssl certificate 是獨立的(或者說,使用的是負責推播的伺服器上存在的 private/public key 以及對應的 .CSR)

因此,如果遺失了 private/public key 時,其實大可以重新產生、重新申請

對現有服務、App 並不會造成影響

唯一的影響只是開發人員要上傳新檔案時,必須使用新的 .cer

另一種比較常見的狀況

是需要輸出 certificate 給其他人員簽署 app (例如 phoneGap…)

這種情況,下載對應的 certificate (*.mobilevision)後,安裝到 Mac,然後打開 keychain access,找到對應的 certificate,選擇輸出(.p12),這時候會需要密碼(忘記的話,再輸出一次就好了..)

然後將 *.mobilevision 和 .p12 檔案給對方就好

.p12 檔案的結構和原理還不太熟

(以下部分「全部」尚未實作過,僅就手上資料描述)

如果要轉移/備份現有的 certificate, 首先要記得一起轉移對應的 keys

備份 keys 的方法,是匯出成 .cer

Mac 的 keychain 有提供匯出 keys 的功能(轉出的檔案是 .cer 檔案)

理論上應該可以把對應的 keys 轉移出去

如果遺失了 iOS app store 的 .cer 檔案,重新下載就好

如果遺失了 .CSR 檔案

可以開啟 keychain access, 點選對應的 private key 選擇從現有金鑰要求憑證(如下圖,不確定中文)

PastedGraphic-2013-02-14-19-24.png

如果遺失了 keys.. 找一下有沒有備份(time machine..)

沒有的話,應該是沒救了

重新產生就好

可以考慮用 certificates 需要更新的理由來虎爛 dever..

dever 聽到 certificates 這種非開發問題大概都會隨你處置… :p

沒有留言: