我怎样才能生成在iPhone推送通知pem文件?

使用此链接生成推送通知的Pem文件,但我不明白以下步骤…

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

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

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

  2. find您要安装的证书并公开其内容。 你会看到一个证书和一个私钥。

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

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

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

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

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

最后我希望生成推送通知证书

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

1)打开钥匙链和请求证书显示在下面的图像。

在这里输入图像说明

2)更改公用名称作为您的project_name。

在这里输入图像说明

3)在钥匙链开启的钥匙,你可以显示两个关键的公共和私人

在这里输入图像说明

4)点击私钥并导出。

在这里输入图像说明

5)创build名称project_name_key.p12

6)添encryption码ex-1234

7)input系统login密码并保存。 现在你有以下证书。

在这里输入图像说明

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

在这里输入图像说明在这里输入图像说明

如果推送通知禁用,然后启用它从编辑。

在这里输入图像说明

9)发展,你可以创build第一个和发行,你可以select最后一个。

在这里输入图像说明在这里输入图像说明

10)select并生成下载apns证书后,放入桌面并双击。

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

用1234口令输出。

在这里输入图像说明

12)现在你有以下文件。

在这里输入图像说明

13)打开terminal并转到桌面。

在这里输入图像说明

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

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

然后input密码:-1234

在这里输入图像说明

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

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

然后input密码:-1234inputPEM密码短语:1234validation – inputPEM密码短语:1234

在这里输入图像说明

16)在terminalinput以下三行

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

inputapns-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服务器。

下面是第3步中要select的屏幕截图。不是两个证书。 这是一个证书+密钥。

在这里输入图像说明

对于**

  • 生产推送通知

**

我从这个链接参考

要为iOS应用启用推送通知function,您需要创build并上传Apple推送通知证书(.pem文件)给我们,以便我们能够以您的名义连接到Apple推送服务器。

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

步骤1:login到iOS Provisioning Portal,单击左侧导航栏上的“Certificates”。 然后,点击“+”button。

在这里输入图像说明

在这里输入图像说明

在这里输入图像说明

第2步:select分配部分下的Apple推送通知服务SSL(生产)选项,然后点击“继续”button。 在这里输入图像说明

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

在这里输入图像说明

步骤4:按照“关于创build证书签名请求(CSR)”步骤创build证书签名请求。 在这里输入图像说明

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

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

在这里输入图像说明

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

在这里输入图像说明

步骤5:上传步骤4中生成的“.certSigningRequest”文件,然后点击“Generate”button。 在这里输入图像说明

第6步:点击“完成”完成注册,iOS Provisioning Portal页面将刷新,如下图所示: 在这里输入图像说明

然后点击“下载”button来下载刚刚创build的证书(.cer文件)。 – 双击下载的文件,将证书安装到Mac上的Keychain Access中。

第7步:在您的Mac上,转到“钥匙串”,查找您刚刚安装的证书。 如果不确定哪个证书是正确的,那么应该从“Apple Production IOS Push Services:”开始,然后是应用的软件包ID。 在这里输入图像说明

步骤8:展开证书,您应该看到私钥,包括您的姓名或公司名称。 通过使用键盘上的“select”键select两个项目,右键单击(或者如果您使用单个button鼠标,则单击鼠标右键),select“导出2项目”,如下图所示: 在这里输入图像说明

然后将名称为“pushcert.p12”的p12文件保存到桌面 – 现在系统会提示您input密码以保护它,您可以单击Enter键跳过密码或input您想要的密码。

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

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

第10步:通过使用此链接(点击这里)

你可以检查天气.PEM文件是否有效—>如果它是有效的,你会得到成功消息,通知如: 在这里输入图像说明

对于**

  • 开发推送通知

**

只要看下面的Youtube链接点击这里 ,享受..

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

这里是步骤:
1.下载应用程序。
2.使用您的Apple开发者帐户凭据login。
3.select应用程序ID
4.点击“生成”button
你完成了!

您将获得.pem格式以及.p12格式的APN证书。 更重要的是,您也将得到.pem和.p12的组合(key + cert)!
更重要的是,您还将获得所有这些证书的非密码版本!

在这里输入图像说明

在这里输入图像说明

只要添加@Nitin的很好描述的答案。 在创buildpem之后,可以使用openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert MyKey.pem -key MyKey.pemvalidation它openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert MyKey.pem -key MyKey.pem其中MyKey是您的pem文件的名称。

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

  1. 右键点击您的APNs证书并点击导出。 这将在桌面上生成.p12证书
  2. 打开terminal光盘桌面,并使用以下命令将.p12转换为.pem

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

    如图所示