如何將推送證書p12導出為pem


1. 在Mac上啟動Keychain助手,然后在login keychain中選擇 Certificates分類。你將看到一個可展開的“Apple Development Push Services”證書。

2. 選擇該證書,右擊“Apple Development Push Services” > Export “Apple Development Push Services: xxx”。保存為 apns-dev-cert.p12文件。

3. 展開“Apple Development Push Services”會看到一個類別為“Private Key”的私鑰,對該私鑰做同樣操作,保存為 apns-dev-key.p12 文件。

4. 需要通過終端命令將這些文件轉換為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

5. 如果你想要移除密碼,要么在導出/轉換時不要設定或者執行:

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

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

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

7. 驗證pem有效性(驗證生產證書時將gateway.sandbox.push.apple.com替換為gateway.push.apple.com)

openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem

8. 如果使用p12導出pem時發生類似以下的錯誤:asn1 encoding routines:ASN1_get_object:header too long,請通過Keychain導出成cer文件,再執行命令轉為pem:

openssl x509 -in apns-dev-cert.cer -inform DER -out apns-dev-cert.pem -outform PEM

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM