如何在firebase控制台中使用Apple的新.p8证书进行APN

Sub*_*bso 70 apple-push-notifications ios firebase p12 p8

随着最近苹果开发者帐户的升级,我面临着一个困难,即在尝试创建推送通知证书时,它提供了(.p8)证书,而不是可以导出到(.p12)的APN.

Firebase控制台只接受(.p12)证书,以便我可以从这些新的(.p8)证书中获取证书.

小智 62

我可以通过选择位于左列"Keys"标题下的"All"来完成此操作

在此输入图像描述

然后我点击右上角的加号按钮添加一个新密钥

在此输入图像描述

输入密钥的名称并选中"APN"

在此输入图像描述

然后向下滚动并选择继续.然后,您将进入一个屏幕,向您显示现在或以后下载.p8的选项.在我的情况下,我收到一个警告,它只能下载一次,所以保持文件安全.

  • @John Idasetima 我很困惑这如何回答这个问题 - Firebase 只接受 p12 但新密钥是 p8。您的答案只是说明如何下载密钥*作为 p8*。您是说 Firebase 接受 p8 和 p12 吗? (5认同)
  • 谢谢,开发者帐户已更新。没有更多的“ APNs Auth Keys”进入“ Certificates” (2认同)

Har*_*hah 22

Apple最近对APN进行了新的更改,现在Apple坚持使用"基于令牌的身份验证",而不是我们用于推送通知的传统方式.

所以不需要担心它们的过期,这个p8证书适用于开发和生产,因此再次无需为每种模式生成2个单独的证书.

要生成p8,请转到您的开发者帐户,然后选择此选项"Apple推送通知身份验证密钥(沙箱和生产)"

在此输入图像描述

然后会直接生成p8文件.

我希望这能解决你的问题.

从Apple获取此新的APN更改:https: //developer.apple.com/videos/play/wwdc2016/724/

您也可以阅读:https: //developer.apple.com/library/prerelease/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/APNsProviderAPI.html

  • @HardikShah此选项"Apple推送通知身份验证密钥(沙箱和生产)"不可用.为什么? (4认同)
  • 我们可以将 .p8 转换为 .PEM 类型吗? (2认同)
  • 我认为 Firebase 尚不支持使用 APNs Auth Keys (.p8)。但与此同时,现在从您自己的服务器上进行操作会更容易。 (2认同)
  • 谢谢 - 我没有使用firebase,但我发现这个答案对于从.pem转移到.p8文件最有帮助.我还发现Apple的这个循序渐进的指南非常宝贵; 按照你的回答后,这是我的下一步:https://eladnava.com/send-push-notifications-to-ios-devices-using-xcode-8-and-swift-3/ (2认同)

Sub*_*bso 20

所以,花了一段时间后,我发现旧的推送证书生成服务也存在.

你有两个选择:

  • Apple推送通知身份验证密钥(沙箱和生产)
  • Apple推送通知服务SSL(沙箱和生产)

那些想要获得旧式.p12证书的人可以从第二个选项获得它.我还没有使用第一个选项,因为大多数第三方推送通知服务提供商仍然需要.p12格式证书.

推送通知服务的示例图像

  • 此选项“ Apple Push Notification Authentication Key(沙盒和生产)”不可用。为什么呢 (2认同)
  • 我也无法在Developer.apple.com中找到此选项,这是创建此p8文件的另一种方法吗?或将p12转换为P8? (2认同)
  • 同样在这里。我没有看到Apple Push Notification Authentication Key选项 (2认同)

dha*_*nav 13

Firebase控制台现在接受.p8文件,事实上,它建议上传.p8文件.

您可以在下面附带的屏幕截图中看到

  • 如果有误,请纠正我,但是* App ID前缀*实际上是[会员信息](https://developer.apple.com/account/#/membership/)页面上的* Team ID *,对吗?因为工具提示清楚地表明它位于“成员资格信息”页面上,甚至可以链接到它。 (3认同)
  • 那里引用的“密钥ID”是什么?考虑我一个菜鸟。 (2认同)
  • @UmairAhmed当您要求注册推送通知时收到的设备令牌的字符串。 (2认同)
  • 不,这不是设备令牌。它是 .p8 文件名中下划线后面的字符串。像这样 ---> AuthKey_A5HG8NYIFC.p8。您也可以在 Apple 开发者网站的“证书、标识符和配置文件”部分的“密钥”菜单中创建密钥后看到它。 (2认同)

Kru*_*nal 9

跟着这些步骤:

1.生成APNs验证密钥
在开发人员中心中打开APNs验证密钥页面,然后单击+按钮以创建新的APNs验证密钥.

在此输入图像描述

在下一页中,选择Apple推送通知身份验证密钥(沙箱和生产),然后单击页面底部的继续.

在此输入图像描述

然后,Apple将生成一个.p8包含您的APN Auth Key 的密钥文件.

在此输入图像描述

.p8密钥文件下载到您的计算机并保存以供日后使用.此外,请务必在某处记下密钥ID,因为稍后在连接到APN时需要它.

2.发送推送通知

参考:APNS(配置推送通知)

重要提示:将密钥备份保存在安全的地方.它不会再次出现,以后无法检索.

  • APN的身份验证密钥在我的开发人员门户中不存在。有人知道为什么吗? (3认同)

Moj*_*ini 7

2021 年 5 月 - 生成.p8文件而不是.cer文件

我遇到的问题是我找不到创建.p8文件的方法,所有方法都给了我.cer文件。

  1. 前往您的Apple 开发者帐户
  2. 转到部分并单击加号按钮(或单击此处):

?? 选择是非常重要的keys部分,不是certificateidentifiers。否则你.cer最后会得到文件???

按键部分

  1. 选择苹果推送通知服务: 选项

?? 请注意,由于它是非常强大的证书,因此非常有限,您不能拥有太多。因此,如果您已经创建了一个,您将面临类似此图像的内容,您应该使用该文件或撤消旧文件。

  1. 下载.p8文件并将其保护在某处。

  • 就是这个,谢谢!!经过 2 小时尝试将 .cer 转换为 .pem 或 .p12 以及 .p8 后,答案非常简单。 (2认同)

Dod*_*ody 5

You can create the .p8 file for it in https://developer.apple.com/account/

Then go to Certificates, Identifiers & Profiles > Keys > add

苹果密钥

Select Apple Push Notification service (APNs), put a Key Name (whatever).

Then click on "continue", after "register" and you get it and you can download it.