2 min read

iOS p8 p12 差異

有感於處理IM聊天 ipa上架,在使用超級簽名時發現推播功能一直異常,但最終發現是超級簽證書問題,故紀錄一篇文章。
iOS p8 p12 差異
Photo by Szabo Viktor / Unsplash

p12 分為包ipa專用證書以及推播專用兩者不可搞混。

p8 專門用於app 推播功能。

一般來說在xcode要包ipa時需要包檔用的p12。若有一些功能需要啟用例如推播,則可以選擇看要使用 p12推播證書或者p8推播用證書,而兩者的差異在於p8推播專用證書會來得p12推播專用證書穩定一些。

特點 p12 p8
用途 應用簽名/傳統的推播通知 新版推送通知認證,基於JWT推播通知服務
證書類型 包含私鑰和公鑰證書,適用於傳統證書管理機制 僅包含私鑰,適用於APNs的推播通知認證方式
有效期 通常為一年,需要重新生成 時間較長,通常無需重新生成
使用方式 用於簽名應用和傳統推播通知 用於推播通知認證和HTTP/2推播通知服務
適用場景 適用於傳統的 iOS 開發打包、測試和發佈 適用於需要長期認證和使用 JWT 的推送通知服務

目前上架iOS提供給使用者下載有幾種方式。

  • TestFlight(TF)
    • 只能存活90天,時間到就會掉簽需要重簽。
    • 掉簽之後客戶需要重新下載。
  • 超級簽
    • 普通證書/普通簽(Standard Certificate)
      • 生成的證書和數量有限。
      • 通常為一年,需要更新。
      • 若需要推播功能需要另外處理,例如p12/p8的推播證書。
    • 高級證書/高級簽(Enterprise Certificate)
      • 通常為一年,每年可以續簽。
  • 自上架
    • 個人
    • 企業
      • 較個人來的穩定一些,因為是有公司行號所以比較不會掛掉。
      • 取得比較難。