制作一个APNS的推送证书

1、为应用创建独立的app ID和开发、发布的profile文件。同时开启push功能,完成后双击安装。

2、从钥匙串访问(Keychain Access)中,我的证书对应APP的开发或发布证书,分别导出cert和key,命名为apns-dev-cert.p12apns-dev-key.p12

3、终端命令行运行下面的opnessl命令,即可生存所需的pem文件

$ openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
$ openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
$ openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
$ cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

写的很粗略,这位老外同学写的很详细,步骤备份此处,有不理解的同学可以留言!

PS:今天发现诡异的现象,之前制作development证书时,Enter PEM pass phrase:,密码我输入4个1可以的,今天制作release的pem证书,输入4个1报错: >unable to load Private Key 140735097526716:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:696:Expecting: ANY PRIVATE KEY

然后,我花费了很长时间,重新做cert和key原始的p12证书,反复核对,信息也无误。因为之前我用同样的步骤已经做成一个app的push证书。

所以我继续尝试,最后我再上面键入密码时候,输入6个1,就没问题了。我勒个去,看来是因为我对openssl命令还不甚了解吧。

希望对看到的同学有帮助,也可能是我遇到的特例,不过成功了,心里还是有点安慰。 :)

本文地址:http://jimneylee.github.com/2012/04/18/make-push-pem-file-for-php-backend

无觅相关文章插件,快速提升流量