Just My Life & My Work

Posts tagged ‘p8’

[iOS] 推播驗證區分 p12 憑證與 p8 金鑰

最近需要整合中國可比較順利收到遠端推播的平台極光,我們決定使用最新的 Apple 推播通知(APNs)認證機制。

先前已有在文章:Apple 推播通知服務憑證更新研究過,了解舊的 p12 憑證與新的 p8 金鑰之差異,有更好的方法就與時俱進吧!

.

1. .p12 憑證

  • 舊機制:以前要使用 APNs,必須在 Apple Developer 產生「推播憑證(Push Certificate)」,然後把它匯出成 .p12 檔案(包含憑證與私鑰)。
  • 綁定性高:這個 .p12 是針對「單一 App」產生的,每個 App 要推播就得有自己的憑證。
  • 管理麻煩:如果有很多 App,要管理很多 .p12,到期還得逐一更新。

2. .p8 金鑰

  • 新機制 (2016 後):Apple 推出了「APNs Auth Key」機制,用 .p8 私鑰檔案來取代傳統憑證。
  • 好處
    • 一把 .p8 金鑰可以同時支援多個 App,不需要為每個 App 建立不同檔案。
    • 不會每年過期,只要不撤銷,金鑰就一直有效。
    • 伺服器端使用 JWT(JSON Web Token)來跟 APNs 做身份驗證,安全性更好。
  • 限制:一個 Apple 開發者帳號最多能建立 2 組 APNs .p8 金鑰。

小結

  • .p12 → 舊式、以「App」為單位的憑證,會過期,需要管理多份。
  • .p8 → 新式、以「帳號」為單位的金鑰,不會過期,維護更簡單。
(繼續閱讀…)

標籤雲