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

wmvff8tz  于 2023-04-08  发布在  iOS
关注(0)|答案(8)|浏览(193)

我试了又试,试图生成一个.pem文件,每次从客户端的帐户生成证书,然后使用终端生成.pem文件,但它是没有用的。谁能给予一个一步一步的过程?

kqhtkvqz

kqhtkvqz1#

要为您的iOS应用启用推送通知,您需要创建Apple推送通知证书(.pem文件)并将其上传给我们,以便我们能够代表您连接到Apple推送服务器。
(***Updated version with updated screen shots Here***)
第一步:登录iOS Provisioning Portal,点击左侧导航栏的“证书”,然后点击“+”按钮。

步骤2:选择苹果推送通知服务SSL(生产)选项下的分布部分,然后点击“继续”按钮.

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

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

以补充Apple提供的说明。以下是一些额外的屏幕截图,以帮助您完成所需的步骤:
第四步补充截图1:在Mac上导航到Keychain Access的证书助手。

第四步补充截图二:填写证书信息。单击“继续”。

第五步:上传第四步生成的.certSigningRequest文件,点击“生成”按钮。

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

然后点击“下载”按钮下载您刚才创建的证书(.cer文件)。-双击下载的文件将证书安装到Mac上的Keychain Access中。
第7步:在Mac上,转到“Keychain”,查找您刚刚安装的证书。如果不确定哪个证书是正确的,它应该以“Apple Production IOS Push Services:”开头,然后是您的应用程序的捆绑ID。

第8步:展开证书,您应该看到带有您的姓名或公司名称的私钥。使用键盘上的“Select”键选择两个项目,右键单击(或如果您使用单键鼠标,则单击cmd),选择“Export 2 items”,如下图所示:

然后将名称为“pushcert.p12”的p12文件保存到桌面-现在您将被提示输入密码以保护它,您可以单击Enter跳过密码或输入您想要的密码。
步骤9:现在最困难的部分-打开“终端”在您的Mac上,并运行以下命令:

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

第10步:从桌面删除pushcert.p12,以避免错误上传到Build Your Own区域。在Mac上打开“终端”,并运行以下命令:

cd
cd Desktop
rm pushcert.p12

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


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

hc8w905p

hc8w905p2#

今天有更简单的解决方案-pem。这个工具使生活变得更容易。
例如,要生成或续订推送通知证书,只需输入:

fastlane pem

如果您需要沙盒证书,请输入:

fastlane pem --development

就这样了。

a9wyjsp7

a9wyjsp73#

$ cd Desktop
$ openssl x509 -in aps_development.cer -inform der -out PushChatCert.pem
7tofc5zh

7tofc5zh4#

谢谢!以上所有的答案。我希望你有一个.p12文件。现在,打开终端写以下命令。设置终端的路径,你已经把.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文件中包含证书内容(从开始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 Certificate Decoder并粘贴证书内容(从开始CERTIFICATE到END CERTIFICATE)来检查证书的有效性,以获取有关证书的所有信息,如下所示:

fivyi3re

fivyi3re5#

Apple更改了颁发的证书名称。您现在可以将同一证书用于开发和生产。虽然您仍然可以申请仅用于开发的证书,但您不能再申请仅用于生产的证书。

pes8fvy9

pes8fvy96#

导出Cert.p12和key.p12后非常简单,请在下面找到生成“apns”.pem文件的命令。
https://www.sslshopper.com/ssl-converter.html

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

上面的命令对沙盒和生产都很有用。

ulmd4ohb

ulmd4ohb7#

根据Troubleshooting Push Certificate Problems
您的Apple开发者计划帐户中可用的SSL证书包含公钥,但不包含私钥。私钥仅存在于创建上传到Apple的证书签名请求的Mac上。导出隐私增强邮件(PEM)文件需要公钥和私钥。
您无法从客户端提供的证书导出有效PEM的原因可能是您没有私钥。证书包含公钥,而私钥可能只存在于创建原始CSR的Mac上。
您可以:
1.尝试从最初创建CSR的Mac获取私钥。可以从该Mac导出PEM,也可以将私钥复制到另一台Mac。

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

5lhxktic

5lhxktic8#

2023年
创建和下载推送通知证书并将其导出到.p12.pem的最新方法:

下载证书到您的机器

1.在Apple Developer门户网站上登录您的帐户并选择“证书”
1.点击“+”,选择“苹果推送通知服务SSL(沙盒&生产)”,选择“继续”
1.选择您的应用程序并选择“继续”
1.上传证书签名请求(.csr),选择“继续”,然后选择“下载”

保存到Keychain

1.双击新下载的.cer文件,它将自动保存到您的钥匙串中。钥匙串将打开并显示您的证书列表。

获取.p12文件

1.找到证书,右键单击它并选择“导出...”并将其保存到桌面。它会要求您输入密码来保护它,并且它是可选的,您实际上并不需要它。

将.p12转换为.pem

1.打开终端并导航到.p12目的地
1.使用下面的命令,将“certificateName”更改为证书的名称,然后按Enter键
1.它会要求您输入密码在第6步,键入它,然后按Enter键。如果您没有提供密码在第6步,只需按Enter键,您将有.pem文件保存在同一位置,您保存您的.p12。
openssl pkcs12 -in certificateName.p12 -out certificateName.pem -nodes -clcerts

相关问题