一、生成Certificate Signing Request(CSR)
1.打开钥匙串,钥匙串访问 --》证书助理 --》从证书颁发机构请求证书,如图:
2.填写你的邮箱和常用名称,并选择保存到硬盘,点击继续,然后在本地拿到一个Push.certSigningRequest文件。如图:
二、导出p12文件
1.选择“密钥” 找到 Push的专用密钥,并导出.p12文件,如图:
2.然后输入密码(这个密码要记住,后面需要用到),保存好。
三、生成.cer证书
1.登录付费开发者账号,选择“Certificates”,点击“+”号添加证书。
2.如果制作开发证书,选择“Apple Push Notification service SSL (Sandbox)”,如图:
发布证书,则选择“Apple Push Notification service SSL (Sandbox & Production)”,如图:
3.点击“continue”,然后选择之前制作好的CSR文件,完成后,下载下来。
四、命令生成.p12
1.把上面所生成的文件(Push.CSR,Push.p12,aps.cer)放到桌面的一个目录下,方便以下操作。
2.打开终端,输入命令:
cd (把上面步骤的目录拖到这来)
3.将aps.cer转换成aps.pem格式,命令如下:
openssl x509 -in aps.cer -inform DER -out aps.pem -outform PEM
4.将p12格式的私钥转换成pem(注意:执行该命令后,需要输入之前.p12的密码,和生成.pem的密码,最好设置的密码都是同一个方便记忆),命令如下:
openssl pkcs12 -nocerts -out Push.pem -in Push.p12
5.创建p12文件(注意:执行该命令后,需要输入之前设置的密码和aps_Push.p12的新密码,最好设置的密码都是同一个方便记忆),命令如下:
openssl pkcs12 -export -in aps.pem -inkey Push.pem -certfile Push.certSigningRequest -name "aps_Push" -out aps_Push.p12
备注:如果出现 unable to load certificates 错误,把上面的命令中“-certfile Push.certSigningRequest”去掉。
最后得到 aps_Push.p12 就是给.net或者java后台用的推送通知证书。(备注:开发和发布证书的制作步骤都一样,就是在开发者中心选择不一而已,上面“三、生成.cer证书步骤2”已说明)