iOS推播訊息 製作server端 金鑰

1 篇文章 / 0 new
author
iOS推播訊息 製作server端 金鑰
1. 在產生 server 簽章檔時, 首先須製作自己的憑證授權檔
至 LanuchPad > other > 鑰匙圈存取

開啟後從選單來建立一個新憑證

輸入相關資料後將憑證(CSR)儲存至磁碟中, 後續產生 Push憑證時需用到

 
2. 登入 https://developer.apple.com (當然須有開發者帳號才能進行接續動作)
1.選取目標App然後點下方 Edit , 來製作 push 憑證

接這按下 Create Certificate. 共分 開發階段正式發行 兩種憑證. 兩種均建立, 開發或發行過程 xcode 本身會讀取到

建立過程沒什特別, 只是中間需選取 CSR 憑證(一開始我們所建立存到磁碟的那個憑證檔案)來建立 push 的使用憑證, 正式憑證預設檔名為 aps.cer 開發憑證則為 aps_development.cer.

3. 個人憑證
通常開發過程 xcode 內有會產生個人開發憑證與發行憑證.

若沒看見 鑰匙圈存取 可自行建立, 然後開啟 Finder 選取 下載的憑證 按滑鼠左鍵兩次, 則會將憑證匯入. 接著選取該憑證按滑鼠右鍵來輸出 .p12 檔案

 
4. 利用上面步驟所產生的相關檔案來製作 Server 端發送訊息所需的金鑰
進入 命令視窗 依序執行下列指令即可產出所需的金鑰給 server 使用
用.cer 來產生 .pem
openssl x509 -in aps.cer -inform der -out PushChatCert.pem
用.p12 來產生 .pem
openssl pkcs12 -nocerts -out PushChatKey.pem -in product.p12
將二個.pem整合成一個檔案
cat PushChatCert.pem PushChatKey.pem > ck_product.pem

ck_product.pem 這檔案就是 server 端發送訊息所需的金鑰了. 接著就可以寫 code 來發送/接收 推播訊息囉. 同時可執行下命令來測試產的憑證是否成功
►測試(不使用ssl)
telnet gateway.sandbox.push.apple.com 2195
►測試(使用ssl, 有看到一堆輸出訊息表示成功)
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert PushChatCert.pem -key PushChatKey.pem
Free Web Hosting