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

1. 在Mac上啓動Keychain助手,而後在login keychain中選擇 Certificates分類。你將看到一個可展開的「Apple Development Push Services」證書。app

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

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

4. 須要經過終端命令將這些文件轉換爲PEM格式:orm

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. 若是你想要移除密碼,要麼在導出/轉換時不要設定或者執行:blog

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

6. 最後,你須要將鍵和許可文件合成爲apns-dev.pem文件,此文件在鏈接到APNS時須要使用:ssl

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

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

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

openssl x509 -in apns-dev-cert.cer -inform DER -out apns-dev-cert.pem -outform PEM
相關文章
相關標籤/搜索