iphone - 为推送通知创建.pem 文件?

标签 iphone ios ipad

我有一个 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/

相关文章:

iphone - 什么是 Objective-c 相当于 java 时间戳?

iphone - 尝试重写 Objective-C 中的方法时出现问题 (iPhone)

ios - 如何克服在 Xcode 的管理器中找不到配置文件的有效签名身份错误?

ios - 自定义 UIWindow 不显示

ios - 核心数据 : annotation: Failed to load optimized model at path '/var/containers/Bundle/.... '

iphone - iOS - 删除存储在主 NSDictionary 中的所有 NSDictionaries 上包含键的所有条目

iphone - Interface Builder 文件中的未知类

ios - 半透明状态栏 (iPhone/iPad/iPod Touch)

ios - 我的应用程序在 ipad 上崩溃,因为释放对象

iphone - 是否可以在 iOS 应用程序中使用 rsync?