如何在Firebase控制台中将Apple的新.p8证书用于APN


81

随着Apple开发人员帐户的最新升级,我面临一个困难,即尝试创建推送通知证书时,它为我提供(.p8)证书,而不是可以导出到(.p12)的APNs证书。

Firebase控制台仅接受(.p12)证书,因此我如何从这些新(.p8)证书中获取证书。


1
您在哪里获得.p8证书?我仍然可以从KeyChain创建.p12。
Ragul

我两天前更新了苹果帐户的许可证,它甚至直接向我提供.p8证书而不是p12证书,甚至不要求提供CSR文件
Subso

你能得到解决方案吗?
Dhaval Bhadania

@DhavalBhadania我在下方发布了我的答案
Subso

Answers:


65

我可以通过选择左侧列“键”标题下的“全部”来完成此操作

在此处输入图片说明

然后,我单击了右上角的加号按钮以添加新密钥

在此处输入图片说明

输入密钥名称,然后选中“ APN”

在此处输入图片说明

然后向下滚动并选择继续。然后,您将进入一个屏幕,为您提供选择立即下载或稍后下载.p8的选项。以我为例,警告我该文件只能下载一次,以确保文件安全。


4
谢谢,开发者帐户已更新。没有更多的APNs Auth Keys东西了Certificates
Djiggy

谢谢,您救了我!
sioesi

@John,您能帮帮我吗,过去几天我一直处于困境。我无法让fcm工作.. stackoverflow.com/questions/50292269
bibscy

他们的密钥可能不会过期,但是“配置文件”会过期。他们仍然需要发送推送通知,还是我们可以安全地摆脱它们?谢谢
andreszs

5
@John Idasetima我很困惑此答案的答案-Firebase仅接受p12,但新密钥为p8。您的答案只是说出如何将密钥下载为p8。您是说Firebase接受p8还是p12?
Gruntcakes

29

苹果最近在APN中进行了新的更改,现在苹果坚持要求我们使用“基于令牌的身份验证”,而不是我们用于推送通知的传统方式。

因此,无需担心它们的到期时间,并且此p8证书既可用于开发也可用于生产,因此再次无需为每种模式生成2个单独的证书。

要生成p8,只需转到您的开发人员帐户,然后选择此选项“ Apple Push Notification Authentication Key(Sandbox和Production)”

在此处输入图片说明

然后将直接生成p8文件。

希望这能解决您的问题。

从苹果公司阅读以下新的APN更改:https : //developer.apple.com/videos/play/wwdc2016/724/

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


1
我们可以将.p8转换为.PEM类型吗?
Dimple Shah

需要.p8的任何平台都不需要.PEM文件,如果仍然需要,则需要将其分开
Hardik Shah

1
我认为Firebase尚不支持使用APNs身份验证密钥(.p8)。但是同时,现在只需在您自己的服务器上进行操作就更容易了。
Andre Cytryn '16

2
谢谢-我没有使用Firebase,但是我发现此答案对于将.pem转换为.p8文件最有用。我还发现Apple提供的分步指南非常有用。在回答您的问题之后,这是我的下一步:eladnava.com/…–
kris

4
@HardikShah此选项“ Apple Push Notification Authentication Key(沙盒和生产)”不可用。为什么?
Balasubramanian

21

因此,花了一段时间后,我才发现旧的推送证书生成服务也存在。

您有两种选择:

  • Apple Push Notification身份验证密钥(沙盒和生产)
  • Apple Push Notification服务SSL(沙盒和生产)

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

推送通知服务的样本图像


2
此选项“ Apple Push Notification Authentication Key(沙盒和生产)”不可用。为什么呢
Balasubramanian

2
我也无法在Developer.apple.com中找到此选项,这是创建此p8文件的另一种方法吗?或将p12转换为P8?
Parth Mehta

@ParthMehta您对此有任何解决方案吗?
Balasubramanian

2
同样在这里。我没有看到Apple Push Notification Authentication Key选项
ckim16 '21

1
同样,“身份验证密钥”选项对我不可用:(
Axel Guilmin

15

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

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


3
如果有误,请纠正我,但是该应用程序ID前缀实际上是在“成员资格信息”页面上找到的团队ID,对吗?因为工具提示清楚地表明它位于“成员资格信息”页面上,所以它甚至链接到该页面。
andreszs

2
那里引用的“密钥ID”是什么?考虑我一个菜鸟。
Umair Ahmed

2
@UmairAhmed当您要求注册推送通知时收到的设备令牌的字符串。
惠安·黄

1
不,这不是设备令牌。它是.p8文件名称中下划线后的字符串。像这样---> AuthKey_A5HG8NYIFC.p8。在Apple Developer网站的“证书,标识符和配置文件”部分的“密钥”菜单中创建密钥后,您也可以看到它。
Somoy Das Gupta,

8

跟着这些步骤:

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

在此处输入图片说明

在下一页中,选择Apple Push Notification身份验证密钥(沙盒和生产),然后单击页面底部的继续。

在此处输入图片说明

然后,Apple将生成一个.p8包含您的APNs身份验证密钥的密钥文件。

在此处输入图片说明

.p8密钥文件下载到您的计算机并保存以备后用。另外,请务必在某处写下密钥ID,因为稍后在连接到APN时将需要它。

2.发送推送通知

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

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


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

@ ckim16-它只能生成一次,并且不会再次显示(删除APNS Auth密钥选项)。这是您查询的参考(help.apple.com/xcode/mac/current/#/…)。如果您以前生成过它,那么它将不再对您可见。
Krunal

我想知道您的链接是否仅适用于付费拥有Apple Developer帐户的人。对我来说,它重定向到developer.apple.com/account/#/welcome
Ryan

@Krunal在过去的几天里,我一直试图使用.p8文件连接到Firebase云消息传递,但我一直无法工作。请看一下我的问题stackoverflow.com/questions/50292269
bibscy

它没有为我下载p8文件:-|
奥利弗·迪克森

3

在Firebase中上载p8文件时,在显示App ID Prefix(必填)的框中 ,您应该输入团队ID。您可以从https://developer.apple.com/account/#/membership获得它, 并复制/粘贴团队ID,如下所示。

在此处输入图片说明


2
谢谢,我正是在找那个。标签在FCM控制台中显然是错误的,即使是一年后,也没有人注意到该错误。
andreszs

1

您可以在https://developer.apple.com/account/中为其创建.p8文件。

然后转到证书,标识符和配置文件>密钥>添加

apple_key

选择“ Apple Push Notification Service”(APN),然后输入“密钥名”(无论如何)。

然后在“注册”之后单击“继续”,您将获得并可以下载它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.