日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

APNS推送证书生成与验证

發(fā)布時間:2024/3/12 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 APNS推送证书生成与验证 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

要進(jìn)行推送服務(wù)的第一件事就是獲取推送證書。它用來對你通過SSL與APNS通訊進(jìn)行識別。

一、在Mac上生成 Apple推送通知SSL證書:

1.1.登錄到 iPhone Developer Connection Portal 并點(diǎn)擊 App IDs

1.2.創(chuàng)建一個不使用通配符的 App ID 。通配符 ID 不能用于推送通知服務(wù)。例如,我們的iPhone程序ID像這樣: AB123346CD.com.serverdensity.iphone

1.3.點(diǎn)擊App ID旁的“Configure”,然后按下按鈕生產(chǎn) 推送通知許可證。根據(jù)“向?qū)А敝笇?dǎo)的步驟生成一個簽名并上傳,最后下載生成的許可證。此步驟在 Apple文檔中 也有談到。

1.4.通過雙擊.cer文件將你的 aps_developer_identity.cer 引入Keychain中。

1.5.在Mac上啟動 Keychain助手,然后在login keychain中選擇 Certificates分類。你將看到一個可擴(kuò)展選項(xiàng)“Apple Development Push Services”

1.6.擴(kuò)展此選項(xiàng)然后右擊“Apple Development Push Services” > Export “Apple Development Push Services ID123”。保存為 apns-dev-cert.p12 文件。

1.7.擴(kuò)展“Apple Development Push Services” 對“Private Key”做同樣操作,保存為 apns-dev-key.p12 文件。

1.8.需要通過終端命令將這些文件轉(zhuǎn)換為PEM格式:

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

1.9.如果你想要移除密碼,要么在導(dǎo)出/轉(zhuǎn)換時不要設(shè)定或者執(zhí)行:

openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem

1.10.a 最后,你需要將鍵和許可文件合成為apns-dev.pem文件,此文件在連接到APNS時需要使用:

cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

1.10.b java需要使用:

openssl pkcs12 -export -in apns-dev.pem -inkey apns-dev-key.pem -certfile CertificateSigningRequest.certSigningRequest -name“aps_developer_identity” -out aps_developer_identity.p12

二、使用APNS 搭建蘋果推送服務(wù)器錯誤:unable to connect to ssl://gateway.sandbox.push.apple.com:2195 錯誤

2.1:檢查你的服務(wù)器的端口 2195是否已經(jīng)開啟,是否被關(guān)閉了或是防火墻阻止了!這點(diǎn)很重要;如果你不確定,又出現(xiàn)了錯誤,請先向你的服務(wù)器商詢問一下,并開啟;
2.2:確認(rèn)你的證書沒有問題:
在mac下執(zhí)行以下命令:

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem -debug -showcerts -CAfile “apns-dev.pem”

openssl s_client -connect gateway.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem -debug -showcerts -CAfile “apns-dev.pem”

在上面進(jìn)程執(zhí)行完之后;可以隨便輸入一些字符串,如果關(guān)閉了,這時是正常的!如果沒有關(guān)閉,會有錯誤信息打印;說明證書有問題;
證書生成:https://blog.serverdensity.com/how-to-build-an-apple-push-notification-provider-server-tutorial/

2.3:檢查你的 推送程序是否有問題; 在這里推薦幾個我測試成功的 php推送程序;
APNS-Pusher
ApnsPHP
easyapns

2.4:檢查你的服務(wù)器與推送程序的環(huán)境配置是否相匹配;比如我的服務(wù)器使用Apache ,程序用php 那么 就要確認(rèn)服務(wù)器 支持php 的 socket連接 openSSL模塊;

三、證書過期處理:(不需要升級客戶端)

證書過期處理:push證書過期,不需要升級客戶端。 具體步驟要點(diǎn):

3.1. 刪除老的push 的certificate。(一定要把老的證書刪掉)
3.2. 在Identifiers -> App Ids 下創(chuàng)建新的push certificate。
測試創(chuàng)建:Development SSL Certificate
正式創(chuàng)建:Production SSL Certificate
3.3. 創(chuàng)建完成后,下載certificate,雙擊安裝。
3.4. 把證書導(dǎo)出,上傳到自己的apns服務(wù)器上。

總結(jié)

以上是生活随笔為你收集整理的APNS推送证书生成与验证的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。