一占卧、創(chuàng)建APNS推送證書
1.登錄Apple的Developer Member Center
- 打開https://developer.apple.com/membercenter/index.action, 選擇點(diǎn)擊Certificates, Identifiers & Profiles., 打開后在左側(cè)列表中選擇Certificates大類下面的All子類,出現(xiàn)如下界面:
2.選擇證書的類型,Sandbox或者Productuon
- 根據(jù)你的需求選擇Apple Push Notification service SSL (Sandbox) 或者 Apple Push Notification service SSL (Sandbox & Production)類型的證書.
- 然后點(diǎn)擊繼續(xù).
這里要注意一點(diǎn),選擇證書的正確類型非常重要:
一個(gè)用Development Provisioning Profile簽名的App生成的 Device Token只能和Sandbox APNS Server結(jié)合使用(開發(fā)環(huán)境測(cè)試用).
一個(gè)用AdHoc Provisioning Profile或者AppStore Provisioning Profile簽名的App生成的Device Token只能和Production APNS Server結(jié)合使用(生產(chǎn)環(huán)境發(fā)布使用).
提示: 有些用戶已經(jīng)報(bào)告過(guò)關(guān)于使用二合一的推送證書(Apple Push Notification service SSL (Sandbox & Production),新出的 )在調(diào)試測(cè)試環(huán)境進(jìn)行推送時(shí)會(huì)出問(wèn)題.
3.查看創(chuàng)建證書簽名請(qǐng)求相關(guān)步驟信息
查看一下如何創(chuàng)建一個(gè)CSR文件的信息.
4.打開鑰匙串,創(chuàng)建證書簽名請(qǐng)求文件
點(diǎn)擊鑰匙串訪問(wèn)程序的菜單欄
選擇證書助理子菜單
選擇從證書頒發(fā)機(jī)構(gòu)請(qǐng)求證書...子子菜單
5.填寫證書簽名請(qǐng)求文件詳細(xì)信息
輸入email地址,為了安全和保險(xiǎn)起見,最好填寫和你Apple開發(fā)者賬號(hào)對(duì)應(yīng)的email地址.
接著輸入常用名稱.
6.上傳正確簽名請(qǐng)求文件
選擇 Choose File...來(lái)上傳
在彈出的文件打開對(duì)話框中定位到剛剛存儲(chǔ)的證書簽名請(qǐng)求文件所在目錄,并選擇打開該CSR文件.
7.下載證書文件
點(diǎn)擊下載按鈕來(lái)下載證書
打開下載的證書文件
8.找到證書和私鑰
在鑰匙串訪問(wèn)程序中找到剛剛打開導(dǎo)入的證書
然后點(diǎn)擊右三角展開證書,顯示出對(duì)應(yīng)的私鑰
導(dǎo)出私鑰文件,在私鑰部分右鍵
在彈出的選擇框中點(diǎn)擊 導(dǎo)出常用名稱 菜單
9. 保存導(dǎo)出的私鑰文件
選中一個(gè)存儲(chǔ)的位置并輸入喜歡的私鑰文件名
格式選擇.p12格式
現(xiàn)在你已經(jīng)擁有了一個(gè).p12格式的文件,該文件包含了和Apple的APNS服務(wù)器建立SSL/TLS安全通信的私鑰.
你可以把該.p12文件上傳到你的推送服務(wù)器并配置使用了.
二混滔、為服務(wù)器制作證書
將下載的證書制作成.pem 文件 打開終端笆怠,訪問(wèn)到你證書存放的那個(gè)目錄下
進(jìn)到文件夾目錄后济似,輸入以下命令將證書轉(zhuǎn)換成.pem文件: openssl x509 -in 證書名字.cer -inform der -out push_developer_cer.pem
將.p12 證書制作成.pem文件 在終端輸入: openssl pkcs12 -nocerts -out pushKey.pem -in p12名字.p12
接下來(lái)會(huì)讓你輸入兩次新生成的.pem文件的密碼,這個(gè)密碼也是看不見的(這個(gè)密碼以后要給服務(wù)器使用宜鸯,要牢記)
可以看到岖沛,文件夾又生成了一個(gè)新的文件:pushKey.pem
合并兩個(gè).pem文件
將上述新產(chǎn)生的文件合并,在終端輸入命令后敲回車: cat 下載證書生成的.pem p12生成的.pem > 最終證書的名字.pem
可以看到廓握,文件夾又生成了一個(gè)新的文件:final_Push_developer.pem(這個(gè)密碼要記住是pushKey.pem生成時(shí)要輸入的密碼搅窿,密碼需要給到服務(wù)器)
5嘁酿、測(cè)試證書是否有效
在終端輸入(開發(fā)用的驗(yàn)證):
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert
下載證書生成的.pem -key p12生成的.pem
如果是發(fā)布證書的驗(yàn)證,輸入:
openssl s_client -connect gateway.push.apple.com:2195 -cert
下載證書生成的.pem -key p12生成的.pem
之后會(huì)讓你輸入密碼男应,輸入密碼后闹司,會(huì)有大量openssl消息,當(dāng)你任意輸入幾個(gè)字符時(shí)殉了,服務(wù)器會(huì)提示斷開
這時(shí)候你就可以把final_Push_developer.pem 和相應(yīng)的密碼 交給服務(wù)器端了开仰,告訴他們這個(gè)證書是沒有問(wèn)題的
驗(yàn)證成功,最后將.pem文件生成p12文件
openssl pkcs12 -export -in iAppPlatformHD_production.pem -out AppPlatform_production_HD.p12