2011/07/07

架設 Apple Push Notification Provider Server

參考下列兩篇教學


針對製作pem的地方我再加強解說(這邊我搞超久的)。
延續上一篇Apple Push Notification Service - 推播服務,此時你手上會有下列東西:

  • CertificateSigningRequest.certSigningRequest (憑證申請書)
  • aps_development.cer (憑證,從Apple下載的)


原文是請你到Keychain Assistant(鑰匙圈存取)去製作apns-dev-cert.p12的檔案,不過我就是沒辦法export出來。還好找到另一個手動解法:HowToCreatePKCS12Certificate

1. 打開"鑰匙圈存取",找到自己的Private Key(專用密鑰),按右建選擇匯出成private_key.p12

2. 將 aps_development.cer 轉換為 aps_development.pem
openssl x509 -in aps_development.cer -inform DER -out aps_development.pem -outform PEM}

3. 將 private_key.p12 轉換為 private_key.pem
openssl pkcs12 -nocerts -out private_key.pem -in private_key.p12

4. 去除轉發密碼
openssl rsa -out private_key_noenc.pem -in private_key.pem

5. 合併 aps_development.pemprivate_key_noenc.pem
cat aps_development.pem private_key_noenc.pem > apns_dev.pem

有了 apns_dev.pem 這個憑證就可以傳送推播了!



傳送時的 message payload 格式也可以參考上面兩篇文章。

最後提供幾個人家implement好的APNS


Production server
  • ssl://gateway.push.apple.com:2195
  • Development server
  • ssl://gateway.sandbox.push.apple.com:2195


  • 沒有留言:

    張貼留言