生成.pem文件,用于设置Apple推送通知

我尝试了一遍又一遍地生成一个。pem文件,每次都从客户端帐户生成证书,然后使用终端生成。pem文件,但这没有用。谁能给出一个循序渐进的步骤?

297656 次浏览

要在iOS应用中启用推送通知,您需要创建并上传Apple推送通知证书(pem文件),以便我们能够代表您连接到Apple Push Server。

(更新版本,屏幕截图更新这里)

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

enter image description here

第二步:在分发部分中选择Apple推送通知服务SSL(生产)选项,然后单击“继续”。按钮。

enter image description here

第三步:选择你想要用于BYO应用的应用ID(如何创建一个应用ID),然后点击“继续”。执行下一步。

enter image description here

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

enter image description here

补充苹果公司提供的说明。下面是一些额外的截图,可以帮助你完成所需的步骤:

步骤4补充截图1:在Mac上进入钥匙链访问的证书助手。

enter image description here

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

enter image description here

第五步:上传“。certsigningrequest "文件,然后点击“生成”;按钮。

enter image description here

第六步:点击“完成”;完成注册后,iOS Provisioning Portal页面会刷新,如下图所示:

enter image description here

然后点击“下载”;按钮,下载证书(。Cer文件)。-双击下载的文件,将证书安装到Mac上的Keychain Access中。

步骤7:在你的Mac上,转到“keychain”,寻找你刚刚安装的证书。如果不确定哪个证书是正确的,应该以&;Apple Production IOS Push Services:&;紧随其后的是应用程序的捆绑包ID。

enter image description here

步骤8:展开证书,您应该看到带有您的姓名或公司名称的私钥。使用&;选择&;在你的键盘上的键,右键点击(或cmd点击如果你使用单按钮鼠标),选择“导出2项”,如下所示:

enter image description here

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

第九步:现在是最困难的部分——打开“terminal”。并运行以下命令:

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

步骤10:删除pushcert。p12从桌面,以避免错误上传到Build Your Own区域。打开“Terminal"并运行以下命令:

cd
cd Desktop
rm pushcert.p12

第11步-新的AWS更新:创建新的pushcert.p12提交到AWS SNS。双击新的pushcert.pem,然后导出仅突出显示在绿色部分的pushcert.pem

enter image description here 信贷:AWS新更新 < / p >

现在,您已经成功创建了Apple推送通知证书(。p12文件)!稍后,您需要将此文件上传到我们的Build Your Own区域。:)

今天有一个更简单的解决方案——< em > pem < / em >。这个工具让生活变得更简单。

例如,要生成或更新您的推送通知证书,只需输入:

fastlane pem

不到一分钟就能搞定。如果您需要沙盒证书,请输入:

fastlane pem --development

就是这样。

$ cd Desktop
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
在导出Cert.p12和key.p12之后,这是非常简单的,

.pem

.pem

https://www.sslshopper.com/ssl-converter.html 
< / p >

command to create apns-dev.pem from Cert.pem and Key.pem




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




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

以上命令对沙盒和生产都有用。

根据解决推送证书问题

Apple开发者计划帐户中可用的SSL证书包含公钥,但不包含私钥。私钥只存在于创建上传到Apple的证书签名请求的Mac上。导出PEM (Privacy Enhanced Mail)文件时,公钥和私钥都需要使用。

您无法从客户端提供的证书中导出工作的PEM的原因可能是您没有私钥。证书包含公钥,而私钥可能只存在于创建原始CSR的Mac上。

你可以:

  1. 尝试从最初创建CSR的Mac中获取私钥。可以从这台Mac上导出PEM,也可以将私钥复制到另一台Mac上。

  1. 创建一个新的CSR、新的SSL证书,这一次备份私钥。

苹果已经更改了颁发的证书的名称。现在,您可以在开发和生产中使用相同的证书。虽然您仍然可以请求仅用于开发的证书,但不能再请求仅用于生产的证书。

please see below screenshot .

< p >谢谢!以上所有答案。 我希望你有一个。p12文件。现在,打开终端写下面的命令。将terminal设置为存放.12文件的路径。

$ openssl pkcs12 -in yourCertifcate.p12 -out pemAPNSCert.pem -nodes
Enter Import Password: <Just enter your certificate password>
MAC verified OK

现在你的.pem文件生成了。

校验.pem文件 首先,在文本编辑器中打开.pem以查看其内容。证书内容格式如下所示。确保pem文件既包含证书内容(从BEGIN Certificate到END Certificate),也包含证书私钥(从BEGIN Private Key到END Private Key):

> Bag Attributes
>     friendlyName: Apple Push Services:<Bundle ID>
>     localKeyID: <> subject=<>
> -----BEGIN CERTIFICATE-----
>
> <Certificate Content>
>
> -----END CERTIFICATE----- Bag Attributes
>     friendlyName: <>
>     localKeyID: <> Key Attributes: <No Attributes>
> -----BEGIN PRIVATE KEY-----
>
> <Certificate Private Key>
>
> -----END PRIVATE KEY-----

此外,您可以通过转到SSLShopper 证书译码器并粘贴证书内容(从BEGIN certificate到END certificate)来检查证书的有效性,以获得有关证书的所有信息,如下所示:

enter image description here