如何得到.pem文件
1. 如果在Mac上钥匙串访问中能找到Apple Development iOS Push Server证书的话,可以在证书上面右键导出生成apns_dev_cert.p12。如果没有的话,可以在苹果开发者中心生成aps_development.cer文件,然后下载,双击导入钥匙串。
2. 然后在钥匙串访问中找到Apple DevelopmentiOS Push Server密钥,右键生成apns_dev_key.p12。
3. 打开终端,进入p12证书所在的目录,输入openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12 生成apns-dev-cert.pem
4. 输入openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12 生成apns-dev-key.pem,要输入密码,记住这个密码
5. 把两个.pem文件合并 cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem
这样就得到了开发环境的pem文件了,如果是生产环境,那么需要选择生环境的证书并做相同的操作,得到apns-dis-cert.pem即可。
可以通过 openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem 测试证书是否正常。执行完毕后,直接输入任意字符,回车,出现closed,表示可用。否则打印错误信息。
如果出现上面的错误信息,那么可能是OpenSSL的cert.pem文件问题,可以在终端中输入命令php -r "print_r(openssl_get_cert_locations());"来查看default_cert_file的路径,并且替换掉,可用版本的cert.pem在这里(链接:https://pan.baidu.com/s/1IlOqpWK-ugenEEjaWqNf9A 密码:7qmc),替换前打印下原文件的权限,替换后修改为同样的权限即可。
原文:https://blog.csdn.net/TuGeLe/article/details/79699926
版权声明:本文为博主原创文章,转载请附上博文链接!