1.登入到 iPhone Developer Connection Portal 並點擊 App IDs
2.建立一個不使用萬用字元的 App ID 。萬用字元 ID 不能用於推播通知服務。例如,我們的iPhone程式ID像這樣: AB123346CD.com.serverdensity.iphone
3.點擊App ID旁的“Configure”,然後按下按鈕生產 推播通知許可證。根據“嚮導”指導的步驟產生一個簽名並上傳,最後下載產生的許可證。此步驟在 Apple文檔中 也有談到。
4.通過雙擊.cer檔案將你的 aps_developer_identity.cer 引入Keychain中。
5.在Mac上啟動 Keychain助手,然後在login keychain中選擇 Certificates分類。你將看到一個可擴充選項“Apple Development Push Services”
6.擴充此選項然後右擊“Apple Development Push Services” > Export “Apple Development Push Services ID123”。儲存為 apns-dev-cert.p12 檔案。
7.需要通過終端命令將這些檔案轉換為PEM格式:
協助
1 2 3 |
openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12 openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12 |
第二個語句,必須為他設定個rsa密碼,如果你想要移除密碼,要麼在匯出/轉換時不要設定或者執行:
協助
1 |
openssl rsa -in apns-dev-key.pem -out unencrypted.pem |
8.最後,你需要將鍵和許可檔案合成為apns-dev.pem檔案,此檔案在串連到APNS時需要使用:
協助
1 |
cat apns-dev-cert.pem unencrypted.pem > apns-dev.pem |
9.要對做成的認證做一個最後的測試,用SSL串連一下。
開發狀態伺服器位址 gateway.sandbox.push.apple.com 2195
產品狀態伺服器位址 gateway.push.apple.com 2195
協助
1 2 |
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key unencrypted.pem |
看看能不能成功
註:最後注意的事,也是我自己栽過的坑。認證分了兩種一種是開發的用的,一種是發布的程式後用的。