为什么导出的p12证书不对,提示上传不正确?

Mac最新版本的导出p12证书,上传提示检查不通过
发布时间: 2015-11-10 12:26

回答:

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导出。