1、首先,要明确您要上传的证书和相应的环境匹配。
开发环境需要上传开发证书,即由"Apple Development IOS Push Services"导出的p12证书。
生产环境需要上传生产证书,即由"Apple Production IOS Push Services"导出的p12证书。
证书和环境必须匹配,否则无法进行推送。(Apple 推送服务的限制)
2、Mac系统上导出证书一定要注意选中"Apple Development IOS Push Services"或者“Apple Production IOS Push Services”进行导出,不要选中其下方的密钥进行导出!!!
否则,由于Mac最新系统的bug,导出的p12文件是不确定的,可能是您系统中的所有证书中随机的一个。
dev1.png
关于Mac最新系统导出p12证书的这个bug,更多详情的您通过本文附录了解。
3、您可以在终端通过以下命令验证您导出证书的BundleID和环境是否正确。
openssl pkcs12 -in your.p12 -out output.pem -nodes
用文本编辑器打开output.pem文件,即可看见BundleID和证书环境。
pem.png
附:
Mac最新系统使用如果选中"Apple Development IOS Push Services"或者“Apple Production IOS Push Services”下方的专用密钥导出p12,可能会生成一个您系统中所有证书中不确定的一个,已在Mac OS X 10.11上验证该bug。
选中"Apple Development IOS Push Services"导出的p12:
dev.gif
选中下方的专用密钥导出的p12:
error.gif
两者转成pem对比:
compare1.png
compare2.png
所以,请直接选中"Apple Development IOS Push Services"或者“Apple Production IOS Push Services”进行p12导出。














网友评论