Bir*_*chi 171 iphone ssl-certificate payload apple-push-notifications
如何创建要存储在托管服务器中的.pem文件以获取APN有效负载数据?
zap*_*aph 351
这就是我所做的,来自:blog.boxedice.com和"iPhone高级项目"第10章,作者Joe Pezzillo.
使用钥匙串中的aps_developer_identity.cer:
apns-dev-cert.p12您可以访问的文件.无需输入密码.下一个命令在Mac的终端中为PEM格式生成证书(隐私增强邮件安全证书):
openssl pkcs12 -in apns-dev-cert.p12 -out apns-dev-cert.pem -nodes -clcerts
Run Code Online (Sandbox Code Playgroud)在服务器上使用chmod 400设置此未加密密钥的文件权限.
小智 216
发展阶段:
步骤1: 从证书.p12 命令创建证书.pem
: openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in apns-dev-cert.p12
第2步:从Key .p12 命令创建密钥.pem
: openssl pkcs12 -nocerts -out apns-dev-key.pem -in apns-dev-key.p12
第3步:可选(如果要删除第二步中询问的密码短语)
命令: openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem
第4步:现在我们必须合并Key .pem和Certificate .pem以获得App 命令开发阶段推送通知所需的开发.pem
: cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem (If 3rd step is performed )
命令: cat apns-dev-cert.pem apns-dev-key.pem > apns-dev.pem (if not)
步骤5:检查证书有效性和与APNS
命令的 连接:openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key.pem (If 3rd step is not performed )
命令: openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert apns-dev-cert.pem -key apns-dev-key-noenc.pem (If performed )
生产阶段:
步骤1: 从证书.p12 命令创建证书.pem
: openssl pkcs12 -clcerts -nokeys -out apns-pro-cert.pem -in apns-pro-cert.p12
第2步:从Key .p12 命令创建密钥.pem
: openssl pkcs12 -nocerts -out apns-pro-key.pem -in apns-pro-key.p12
第3步:可选(如果要删除第二步中询问的密码短语)
命令: openssl rsa -in apns-pro-key.pem -out apns-pro-key-noenc.pem
步骤4:现在我们必须合并Key .pem和Certificate .pem以获得App
命令 生产阶段推送通知所需的生产.pem :cat apns-pro-cert.pem apns-pro-key-noenc.pem > apns-pro.pem (If 3rd step is performed )
命令: cat apns-pro-cert.pem apns-pro-key.pem > apns-pro.pem (if not)
步骤5:检查证书有效性和与APNS
命令的 连接:openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key.pem (If 3rd step is not performed )
命令:( openssl s_client -connect gateway.push.apple.com:2195 -cert apns-pro-cert.pem -key apns-pro-key-noenc.pem
如果执行)
小智 58
脚步:
这给你三个文件:
PushChatKey.p12)aps_development.cer转到您下载文件的文件夹,在我的情况下是桌面:
$ cd ~/Desktop/
将.cer文件转换为.pem文件:
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
将私钥的.p12文件转换为.pem文件:
$ openssl pkcs12 -nocerts -out PushChatKey.pem -in PushChatKey.p12
输入导入密码:
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
首先需要输入.p12文件的密码,以便openssl可以读取它.然后,您需要输入将用于加密PEM文件的新密码.在本教程中,我使用"pushchat"作为PEM密码.你应该选择更安全的东西.注意:如果您未输入PEM密码,openssl将不会给出错误消息,但生成的.pem文件中不会包含私钥.
最后,将证书和密钥合并到一个.pem文件中:
$ cat PushChatCert.pem PushChatKey.pem > ck.pem
Dur*_*n.H 21
启动终端应用程序并在提示后输入以下命令
openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes
Run Code Online (Sandbox Code Playgroud)
cap*_*kaw 10
- >> Apple自己的教程 << - 是我遇到过的唯一可用的指令集.这是直截了当的,我可以确认它在linux php服务器和windows php服务器上运行得非常出色.
您可以在页面底部找到他们的5步创建过程.
注意:您必须在 App Store Connect 中拥有 Team Agent 或 Admin 角色才能执行任何这些任务。如果您不是 App Store Connect 团队的一员,这可能不会影响您。
向 iOS 应用程序发送推送通知需要创建加密密钥。在过去,这是一个使用 SSL 密钥和证书的繁琐过程。每个 SSL 证书都特定于单个 iOS 应用程序。2016 年,Apple 推出了一种新的身份验证密钥机制,该机制更可靠且更易于使用。与 iOS 应用程序相比,新的身份验证密钥更灵活、更易于维护和适用。
尽管引入身份验证密钥已有多年,但并非每个服务都支持它们。FireBase 和 Amazon Pinpoint 支持身份验证密钥。Amazon SNS、Urban Airship、Twilio 和 LeanPlum 没有。许多开源软件包尚不支持身份验证密钥。
要创建所需的 SSL 证书并将其导出为包含公钥和私钥的 PEM 文件:
如果您已经在 Apple Developer Center 网站上为应用程序设置了 SSL 证书,则可以直接跳到将证书转换为 PEM 格式。请记住,你会遇到的问题,如果你不也有被创建上传到了苹果的签名请求在Mac上生成私钥。
请继续阅读以了解如何避免丢失对私钥的跟踪。
Xcode 不控制推送通知的证书或密钥。要为应用程序创建密钥和启用推送通知,您必须访问 Apple Developer Center 网站。您帐户的证书、标识符和配置文件部分控制应用程序 ID 和证书。
要访问证书和配置文件,您必须拥有付费的 Apple Developer Program 会员资格或成为拥有该会员资格的团队的一员。


使用推送通知的应用程序不能使用通配符应用程序 ID 或配置文件。每个应用程序都需要您在 Apple Developer Center 门户中设置一个 App ID 记录以启用推送通知。



为推送通知创建 SSL 证书是一个包含多项任务的过程。每个任务都有几个步骤。所有这些都是以 P12 或 PEM 格式导出密钥所必需的。在继续之前查看这些步骤。
要创建证书,您需要在 Mac 上发出证书签名请求 (CSR) 并将其上传到 Apple。
稍后,如果您需要将此证书导出为 pkcs12(又名 p12)文件,您将需要使用来自同一 Mac的钥匙串。创建签名请求后,Keychain Access 在默认钥匙串中生成一组密钥。这些密钥对于处理 Apple 将根据签名请求创建的证书是必需的。
专门为用于开发的凭据使用单独的钥匙串是一种很好的做法。如果这样做,请确保在使用证书助手之前将此钥匙串设置为默认值。
创建证书签名请求时,证书助手会在默认钥匙串中生成两个加密密钥。将开发钥匙串设为默认设置很重要,这样钥匙就在正确的钥匙串中。



创建签名请求会生成一对密钥。在上传签名请求之前,请验证开发钥匙串是否具有密钥。它们的名称将与签名请求中使用的通用名称相同。
创建证书签名请求后,将其上传到 Apple 开发人员中心。Apple 将根据签名请求创建推送通知证书。
您的开发钥匙串现在应该在钥匙串访问中的我的证书下显示带有私钥的推送证书:
此时应该备份开发钥匙串。许多团队将推送证书保存在安全的 USB 驱动器上,致力于内部版本控制或使用 Time Machine 等备份解决方案。开发钥匙串可以在不同的团队成员之间共享,因为它不包含任何个人代码签名凭据。
钥匙串文件位于
~/Library/Keychains.
一些第三方推送服务需要隐私增强邮件 (PEM) 格式的证书,而另一些则需要公钥加密标准 #12(PKCS12 或 P12)。从 Apple 下载的证书可用于导出这些格式的证书 - 但前提是您保留了私钥。

你可以看看这里。我用图像描述了详细的过程,从创建证书到应用程序密钥到配置文件,再到最终的 pem。 http://docs.moengage.com/docs/apns-certificate-pem-file
| 归档时间: |
|
| 查看次数: |
145003 次 |
| 最近记录: |