我已经创建了开发和生产pem文件。我已按照以下步骤操作:
1)developer.apple.com:AppIDs部分检查Bundle id支持开发SSL证书 如果否,则创建该证书(支持APNS)
2)打开钥匙链
3)右键单击我们的证书并导出证书。
4)你将从这里得到.p12文件:喜欢:hope_APNS.p12
5)打开控制台(终端)并运行以下命令(在此处使用创建的.p12文件作为输入) openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts
6)你将得到相同的.pem文件。 (如hope_APNS.pem)
开发pem文件工作正常。但是有一些生产pem文件。当我设置生产pem文件并从控制台发送推送通知。我不会推动我的设备。
答案 0 :(得分:28)
这是一个旧帖子,但我正在寻找相同的答案,并希望这个解决方案可以帮助某人......为我工作。
您可以使用以下命令测试您的PEM密钥,如果成功,则应该挂起,直到您按Enter键:
openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert pnpush.pem -key pnpush.pem
以上测试沙盘模式下的PEM密钥。对于生产模式,请使用以下命令:
openssl s_client -connect gateway.push.apple.com:2195 -cert pnpush.pem -key pnpush.pem
感谢Craig在https://www.pubnub.com/knowledge-base/discussion/234/how-do-i-test-my-pem-key
答案 1 :(得分:0)
您可能无法通过设备上的生产.pem证书获取推送通知的原因有很多。除了确保您正确生成了不同的生产证书之外,还有以下几点需要检查:
如果做不到这一点,当您通过该证书发送内容时,您确实需要检查网络级别的内容。如果它无效,它将无法连接到Apple。如果它有效但Apple无法识别您发送的推送令牌,则会返回错误代码(如果您使用的是二进制接口),或者连接将被切断。您可能还需要查看APNS Feedback API以更深入地了解出现的问题。
答案 2 :(得分:-1)
使用此工具检查两个PEM文件(开发和分发)非常容易:
Supports Both APNS & GCM Click to check PEM File is valid or not