apns java 证书_苹果生产环境证书文件制作(APNS 推送证书生成(PHP和Java版))经验告诉我必须这么做...

PHP

cd到文件所在目录运行以下3条命令:

1. aps.cer是从developer.apple.com下载下来的推送证书

2. push.p12 是从钥匙串导出的证书,也就是打包证书,输入push.p12 的密码,还要设置导出的输出密码,两遍确认 一定要记住

3. 第三步合成的push.pem,两个pem 合并为最终php可以使用的pem推送证书。

1.openssl x509 -in aps.cer -inform der -out cert_php.pem

2.openssl pkcs12 -nocerts -out key_php.pem -in push.p12

3.cat cert_php.pem key_php.pem > push_php.pem

JAVA

1.根据苹果账号中下载的证书,把证书转换成PEM文件

openssl x509 -in aps.cer -inform DER -out aps_java.pem -outform PEM

2.通过苹果账号中下载的证书文件,导入到钥匙串中,再导出P12文件。这步是把P12文件转换成PEM文件

openssl pkcs12 -nocerts -out key_java.pem -in push.p12

3.合并文件成aps_java.p12,这也是最终给服务器的文件

openssl pkcs12 -export -in aps_java.pem -inkey key_java.pem -certfile CertificateSigningRequest.certSigningRequest -name "aps_java" -out aps_java.p12

注意: 如果报错”unable to load certificates”,把第三条命令的-certfile CertificateSigningRequest.certSigningRequest 去掉就好。

4.测试证书

测试证书是否正确:openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert aps_java.pem -key key_java.pem

如果是生产环境把sandbox去掉

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 完~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

其他:如果证书无法导入到我的证书中如下图,说明生成的XXXXX.certSigningRequest文件有问题(可能是重装系统或者删除了什么文件导致),需要重新生成。

7ec075f0bff8fa7336cb48c437ce6a2b.png

生成xxx.certSigningRequest文件

0809914f7bd9a92936e2e35b5b7d824b.png


版权声明:本文为weixin_26834281原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。