2012-07-18 73 views
9

我有一个IPhone应用程序,我在其中实施推送通知。为此,我创建了一个csrfile,p12文件和生产cer.Enabled推送通知为应用程序id.And配置文件下载。并且当我在设备上运行我但是当我将来自证书和pem文件的pem文件从p12密钥中合并,并生成另一个pem文件并放入我的服务器时,推送通知不会进入我的电话。我已经使用此命令在终端创建文件。'用于推送通知的Creating.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文件吗?

+0

这里:http://stackoverflow.com/a/1762824/624091,试试这个。 – George 2012-07-18 07:59:44

回答

34

得到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 

Fin盟友,你需要的密钥和证书文件合并成连接到APNS时,我们将使用APNS-dev.pem文件:

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

这是获得PEM文件,以获取更多详细信息的方式是指my blog

+0

完美,也帮助了我。谢谢 – 2013-01-09 20:46:32

+2

我不得不使用''openssl pkcs12 -nocerts -in apple_push_dev.p12 -nodes -out y.pem''来让它以未加密的形式推出密钥(OpenSSL 1.0.1f) – NickZoic 2014-07-08 01:16:36

11

试着用下面这些命令:

openssl pkcs12 -clcerts -nokeys -out cert.pem -in cert.p12 

openssl pkcs12 -nocerts -out key.pem -in key.p12 

openssl rsa -in key.pem -out key.unencrypted.pem 

cat cert.pem key.unencrypted.pem > ck.pem 
+0

好的也可以运作 – 2013-10-15 07:59:33

0

要创建.pem文件,您需要遵循以下简单步骤。

你在这里。

步骤1:登录您的开发者帐户转到Provisioning Portal,单击“Certificates”。然后,点击'+'按钮。

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

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

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

步骤5:上传步骤4中生成的“.CSR”文件,然后点击“生成”。

第6步:单击“完成”完成注册,iOS Provisioning Portal页面将更改UI。

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

第8步:展开证书,您应该看到带有您的姓名或公司名称的私钥。使用键盘上的“选择”键选择两个项目,右键单击(或者如果您使用单个按钮鼠标,则单击鼠标右键),选择“导出2项目”。 然后将名称为“yourselectedname.p12”的p12文件保存到桌面 - 现在系统会提示您输入密码以保护它,您可以单击Enter跳过密码或输入您想要的密码。

步骤9:现在打开你的Mac上的 “终端”,并运行以下命令:
CD
CD桌面
OpenSSL的PKCS12 -in pushcert.p12退房手续pushcert.pem -nodes -clcerts

** DONE您已成功创建了苹果推送通知证书(.PEM文件)**