13

使用此链接为推送通知生成 pem 文件,但我无法理解以下步骤...

在服务器上安装 SSL 证书和密钥

您应该在运行提供程序代码的服务器计算机上安装您之前获得的 SSL 分发证书和私有加密密钥,并从该服务器计算机与沙盒或 APN 的生产版本连接。为此,请完成以下步骤:

  1. 打开钥匙串访问实用程序,然后单击左侧窗格中的我的证书类别。

  2. 找到您要安装的证书并公开其内容。您将看到证书和私钥。

  3. 选择证书和密钥,选择文件 > 导出项目,然后将它们导出为个人信息交换 (.p12) 文件。

  4. 以 Ruby 和 Perl 等语言实现的服务器通常能够更好地处理个人信息交换格式的证书。要将证书转换为此格式,请完成以下步骤:

    • 在 KeyChain Access 中,选择证书并选择 File > Export Items。选择个人信息交换 (.p12) 选项,选择保存位置,然后单击保存。

    • 启动终端应用程序并在提示后输入以下命令:openssl pkcs12 -in CertificateName.p12 -out CertificateName.pem -nodes。

  5. 将 .pem 证书复制到新计算机并安装在适当的位置。

4

6 回答 6

12

最后我喜欢生成推送通知证书

生成推送通知证书的完整步骤.....

1)打开钥匙链并请求证书如下图所示。

在此处输入图像描述

2)将通用名称更改为您的项目名称。

在此处输入图像描述

3)在钥匙串开放密钥中,您可以显示两个密钥公钥和私钥

在此处输入图像描述

4)写点击私钥并导出。

在此处输入图像描述

5) 命名 project_name_key.p12

6) 添加密码 ex-1234

7) 输入系统登录密码并保存。现在你有以下证书。

在此处输入图像描述

8)现在转到开发者帐户(https://developer.apple.com/devcenter/ios/index.action)和转到标识符创建新的,如果不退出。和编辑设置。

在此处输入图像描述 在此处输入图像描述

如果推送通知禁用,则从编辑中启用它。

在此处输入图像描述

9) 对于开发,您可以创建第一个,而分发您可以选择最后一个。

在此处输入图像描述 在此处输入图像描述

10)选择并生成下载apns证书并放入桌面并双击它。

11)然后打开钥匙链并转到证书。你可以显示你的推送服务打开然后你显示私钥。

用1234密码导出。

在此处输入图像描述

12)现在你有以下文件。

在此处输入图像描述

13)打开终端并转到桌面。

在此处输入图像描述

14) 使用以下行为 push_cert.p12 文件生成 .pem 文件

openssl pkcs12 -clcerts -nokeys -out apns-dev-cert.pem -in push_cert.p12

然后输入密码:-1234

在此处输入图像描述

15) 使用以下行为 project_name_key.p12 文件生成 .pem 文件

openssl pkcs12 -nocerts -out apns-dev-key.pem -in project_name_key.p12

然后输入密码:-1234 输入 PEM 密码:1234 验证 - 输入 PEM 密码:1234

在此处输入图像描述

16)在终端输入以下3行

openssl rsa -in apns-dev-key.pem -out apns-dev-key-noenc.pem

输入 apns-dev-key.pem:1234 的密码短语

cat apns-dev-cert.pem apns-dev-key-noenc.pem > apns-dev.pem

在此处输入图像描述

17)您有以下证书。

在此处输入图像描述

18) apns-dev.pem 文件发送到服务器,通过是 1234

19) 对于开发,您必须使用 gateway.sandbox.push.apple.com 服务器。和分发你可以使用 gateway.push.apple.com 服务器。

于 2014-04-27T04:00:34.227 回答
10

为了 **

  • 生产推送通知

**

我参考了这个链接

要为您的 iOS 应用程序启用推送通知,您需要创建 Apple 推送通知证书(.pem 文件)并将其上传给我们,以便我们能够代表您连接到 Apple 推送服务器。

(带有更新屏幕截图的更新版本在这里http://www.apptuitions.com/generate-pem-file-for-push-notification/

第一步:登录iOS Provisioning Portal,点击左侧导航栏的“证书”。然后,单击“+”按钮。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

第 2 步:选择分发部分下的 Apple Push Notification service SSL (Production) 选项,然后单击“继续”按钮。 在此处输入图像描述

第 3 步:选择您要用于 BYO 应用程序的应用程序 ID(如何创建应用程序 ID),然后单击“继续”进入下一步。

在此处输入图像描述

第 4 步:按照“关于创建证书签名请求 (CSR)”的步骤创建证书签名请求。 在此处输入图像描述

补充 Apple 提供的说明。以下是一些额外的屏幕截图,可帮助您完成所需的步骤:

第 4 步补充屏幕截图 1:导航到 Mac 上钥匙串访问的证书助手。

在此处输入图像描述

步骤 4 补充截图 2:填写证书信息。单击继续。

在此处输入图像描述

第五步:上传第四步生成的“.certSigningRequest”文件,然后点击“生成”按钮。 在此处输入图像描述

Step 6:点击“Done”完成注册,iOS Provisioning Portal 页面将刷新,如下图所示: 在此处输入图像描述

然后单击“下载”按钮下载您刚刚创建的证书(.cer 文件)。- 双击下载的文件将证书安装到 Mac 上的 Keychain Access 中。

第 7 步:在您的 Mac 上,转到“钥匙串”,查找您刚刚安装的证书。如果不确定哪个证书是正确的,它应该以“Apple Production IOS Push Services:”开头,后跟您的应用程序的捆绑 ID。 在此处输入图像描述

第 8 步:展开证书,您应该会看到带有您的姓名或公司名称的私钥。使用键盘上的“选择”键选择这两个项目,右键单击(如果使用单键鼠标,则单击 cmd),选择“导出 2 个项目”,如下所示: 在此处输入图像描述

然后将名为“pushcert.p12”的 p12 文件保存到您的桌面 - 现在将提示您输入密码以保护它,您可以单击 Enter 跳过密码或输入您想要的密码。

第 9 步:现在最困难的部分 - 在 Mac 上打开“终端”,然后运行以下命令:

cd
cd Desktop
openssl pkcs12 -in pushcert.p12 -out pushcert.pem -nodes -clcerts

第 10 步:通过使用此链接(单击此处)

您可以检查 .PEM 文件是否有效 ---> 如果有效,您将收到成功消息,通知如下: 在此处输入图像描述

为了 **

  • 开发推送通知

**

只需观看以下 Youtube 链接单击此处并享受..

于 2016-01-06T13:14:03.400 回答
6

这是您在第 3 步中必须选择的内容的屏幕截图。这不是两个证书。这是证书+密钥。

在此处输入图像描述

于 2013-04-18T17:52:21.170 回答
4

我会建议一个更简单的解决方案。只需使用Certifire
Certifire是一个 macOS 应用程序,只需单击几秒钟即可生成 Apple 推送通知证书。

以下是步骤:
1. 下载应用程序。
2. 使用您的 Apple Developer Account 凭据登录。
3. 选择 App-ID
4. 点击“生成”按钮
5. 大功告成!

您将获得 .pem 格式和 .p12 格式的 APN 证书。更重要的是,您还将获得 .pem 和 .p12 的组合(密钥+证书)!
更重要的是,您还将获得所有这些证书的无密码版本!

在此处输入图像描述

在此处输入图像描述

于 2017-11-29T11:49:20.940 回答
1

只是为了添加@Nitin 描述得很好的答案。openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert MyKey.pem -key MyKey.pem 创建 pem 后,您可以使用其中 MyKey 是您的 pem 文件的名称来验证它 。

将 gateway.sandbox.push.apple.com 替换为 gateway.push.apple.com,以连接到实时 APNS。

于 2015-08-04T10:17:04.243 回答
0
  1. 右键单击您的 APNs 证书,然后单击导出。这将在桌面上生成 .p12 证书
  2. 打开终端 cd 桌面并使用以下命令将 .p12 转换为 .pem

    openssl pkcs12 -in Certificates.p12 -out Certificates.pem -nodes -clcerts

    如图所示

于 2017-09-06T11:02:02.840 回答