我有一个 iPhone 应用程序,我正在其中实现推送通知。为此,我创建了一个 csrfile、p12 文件和生产 cer。为应用程序 ID 启用了推送通知。并下载了配置文件。当我在设备上运行时我也收到了注册通知。但是当我将来自证书的 pem 文件和来自 p12 key 的 pem 文件组合在一起,并生成另一个 pem 文件并放入我的服务器时。推送通知没有进入我的手机。我用过这个在终端上创建文件的命令。`
openssl x509 -in aps_production.cer -inform der -out phoneapp.pem
openssl pkcs12 -nocerts -out phoneappKey.pem -in veapp.p12
cat phoneapp.pem phoneappKey.pem > applicationwebservice.pem
`谁能帮我正确获取 pem 文件?
最佳答案
获取p12文件后,需要在终端执行以下命令将其转换为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
最后,您需要将 key 和证书文件组合成我们在连接到 APNS 时将使用的 apns-dev.pem 文件:
cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem
这是获取pem文件的方法,更多细节引用my blog
关于iphone - 为推送通知创建.pem 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11536587/