关于iOS推送证书的P12文件,并非直接从KeyChain导出来的证书文件。而是须要经过openSSL工具制作的。(好在Mac OS 默认就有openSSL命令)
针对不同的Server平台,须要的证书是不同的,先说一下.Net框架开发的Server的证书制作:
(开发用、公布用,命令是一样的。仅仅须要提供相应种类的文件即可了)
打开命令终端:
// 得到先前制作好的推送证书,制作pem文件
openssl x509 -in aps_production.cer -inform DER -out aps_production.pem -outform PEM
// 将推送证书从keychain中导出Certificates.p12
openssl pkcs12 -nocerts -out Push_Noenc.pem -in Certificates.p12
这一步会提示输入password,输入你导出p12文件时输入的password,没有password就直接回车
Enter Import Password:
// 输入password之后
MAC verified OK
// 制作Server推送用的证书
openssl pkcs12 -export -in aps_production.pem -inkey Push_Noenc.pem -certfile CertificateSigningRequest.certSigningRequest -name "aps_production" -out aps_production.p12
以上操作都是在同一文件夹下的操作。
PHP平台:
參考:
iOS消息推送机制中pem文件的生成