如何在iphone中为推送通知生成pem文件?

时间:2013-04-17 08:57:02

标签: ios push-notification apple-push-notifications ssl-certificate

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

  

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

     

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

     
      
  1. 打开Keychain Access实用程序,然后单击左侧窗格中的“我的证书”类别。

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

  4.   
  5. 选择证书和密钥,选择文件>导出项目,并将其导出为个人信息交换(.p12)文件。

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

         
        
    • 在KeyChain Access中,选择证书并选择文件>出口物品。选择个人信息交换(.p12)选项,   选择保存位置,然后单击“保存”。

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

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

  10.   

5 个答案:

答案 0 :(得分:10)

最后我解决了生成推送通知证书的问题

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

1)打开钥匙链并请求证书显示在下图中。

enter image description here

2)将通用名称更改为project_name。

enter image description here

3)在钥匙串打开键中,您可以显示两个关键的公共和私人

enter image description here

4)点击私钥并将其导出。

enter image description here

5)制作名称project_name_key.p12

6)添加密码ex-1234

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

enter image description here

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

enter image description here enter image description here

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

enter image description here

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

enter image description here enter image description here

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

然后打开钥匙链并转到证书。并且您可以显示您的推送服务,然后显示私钥。

使用1234密码导出它。

enter image description here

12)现在您有以下文件。

enter image description here

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

enter image description here

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

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

然后输入密码:-1234

enter image description here

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

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

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

enter image description here

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

enter image description here

17)你有以下证书。

enter image description here

18)apns-dev.pem文件在服务器上发送,它传递的是1234

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

答案 1 :(得分:10)

对于**

  • 生产推送通知

**

我参考了this link

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

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

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

enter image description here

enter image description here

enter image description here

步骤2:在“分配”部分下选择Apple推送通知服务SSL(生产)选项,然后单击“继续”按钮。 enter image description here

第3步:选择要用于BYO应用的应用ID(如何创建应用ID),然后点击“继续”转到下一步。

enter image description here

步骤4:按照“关于创建证书签名请求(CSR)”步骤创建证书签名请求。 enter image description here

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

步骤4补充屏幕截图1 :导航到Mac上的Keychain Access证书助理。

enter image description here

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

enter image description here

步骤5:上传步骤4中生成的“.certSigningRequest”文件,然后点击“生成”按钮。 enter image description here

步骤6:点击“完成”完成注册,iOS设置门户页面将刷新,如下图所示: enter image description here

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

第7步:在Mac上,转到“钥匙串”,查找刚刚安装的证书。如果不确定哪个证书是正确的,它应该以“Apple Production IOS Push Services:”开头,然后是您的应用程序的捆绑ID。 enter image description here

步骤8:展开证书,您应该会看到包含您的姓名或公司名称的私钥。使用键盘上的“选择”键选择两个项目,右键单击(如果使用单键鼠标,则单击cmd键),选择“导出2项”,如下所示: enter image description here

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

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

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

第10步:使用this link(click here)

您可以查看天气.PEM文件是否有效--->如果它有效,您将获得成功消息,通知如下: enter image description here

对于**

  • 开发推送通知

**

只需观看以下Youtube链接Click here即可享受..

答案 2 :(得分:6)

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

enter image description here

答案 3 :(得分:1)

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

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

答案 4 :(得分:0)

  1. 右键单击您的APNs证书,然后单击导出。这将在桌面上生成.p12证书
  2. 打开终端cd桌面并使用以下命令将.p12转换为.pem

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

    as shown in picture