Java在使用钥匙串导出的推送证书(.p12),有时会报InvalidToken错误,但是这个证书却可以通过Pusher(Github)成功使用,为了解决这个问题,现使用终端脚本方式导出(.p12)文件。
1. 从钥匙串生成一个CertificateSigningRequest.certSigningRequest文件
2. 从开发者账号下载对应的推送证书aps_development.cer(测试)或者aps.cer(正式)
3. 双击步骤2中对应的证书,在钥匙串中展开这个安装后的证书,导出其中的专用密钥(导出格式为p12),记为private_key.p12
4. 将步骤2中下载下来的证书转成pem格式,命令如下
openssl x509 -in aps.cer -inform DER -out aps.pem -outform PEM
5. 将导出的p12格式密钥转换成pem,命令如下
openssl pkcs12 -nocerts -out private_key.pem -in private_key.p12
6. 将步骤1、步骤4和步骤5中的三个证书合成一个推送证书,命令如下
openssl pkcs12 -export -in aps.pem -inkey private_key.pem -out aps.p12 -passout pass:步骤三中设置的密码
网友评论