【问题标题】:How to use Apple's new .p8 certificate for APNs in firebase console如何在 Firebase 控制台中为 APN 使用 Apple 的新 .p8 证书
【发布时间】:2017-02-01 23:52:03
【问题描述】:

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

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

【问题讨论】:

  • 从哪里获得 .p8 证书?我仍然可以从我的 KeyChain 创建 .p12。
  • 我在两天前更新了我的苹果账户许可证,它直接给了我 .p8 证书而不是 p12,甚至不需要 CSR 文件
  • 你能得到解决方案吗??
  • @DhavalBhadania 我在下面发布了我的答案

标签: ios firebase apple-push-notifications p12 p8


【解决方案1】:

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

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

为您的密钥输入一个名称并检查“APNs”

然后向下滚动并选择继续。然后,您将被带到一个屏幕,为您提供现在或以后下载 .p8 的选项。在我的例子中,我收到了一个警告,它只能下载一次,所以请确保文件安全。

【讨论】:

  • 谢谢,开发者账号已更新。没有更多的APNs Auth Keys 变成Certificates
  • 谢谢,你救了我!
  • @John 你能帮帮我吗,过去几天我一直被困住。我无法让 fcm 工作.. stackoverflow.com/questions/50292269
  • 他们的密钥可能不会过期,但“配置文件”会过期。他们仍然需要发送推送通知,还是我们可以安全地摆脱它们?谢谢
  • @John Idasetima 我很困惑这是如何回答这个问题的——Firebase 只接受 p12,但新密钥是 p8。您的回答只是说明如何下载密钥作为 p8。你是说 Firebase 接受 p8 和 p12 一样吗?
【解决方案2】:

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

因此无需担心它们的过期问题,并且此 p8 证书适用于开发和生产,因此无需为每种模式生成 2 个单独的证书。

要生成 p8,只需转到您的开发者帐户并选择此选项 "Apple Push Notification Authentication Key (Sandbox & Production)"

然后会直接生成p8文件。

希望这能解决您的问题。

从苹果阅读这个新的 APNs 变化: https://developer.apple.com/videos/play/wwdc2016/724/

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

【讨论】:

  • 我们可以将 .p8 转换为 .PEM 类型吗?
  • 任何需要.p8的平台不需要.PEM文件,如果仍然需要则需要单独制作
  • 我认为 Firebase 尚不支持使用 APNs Auth Keys (.p8)。但与此同时,现在从您自己的服务器上执行此操作更容易。
  • 谢谢 - 我没有使用 firebase,但我发现这个答案对于从 .pem 文件迁移到 .p8 文件最有帮助。我还发现 Apple 提供的这个分步指南非常宝贵。在您回答之后,这是我的下一步:eladnava.com/…
  • @HardikShah 此选项“Apple Push Notification Authentication Key (Sandbox & Production)”不可用。为什么?
【解决方案3】:

所以,经过一段时间我发现旧的推送证书生成服务也存在。

你有两个选择:

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

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

【讨论】:

  • 此选项“Apple Push Notification Authentication Key (Sandbox & Production)”不可用。为什么?
  • 我也无法在 Developer.apple.com 中找到此选项,是否还有其他方法可以创建此 p8 文件?还是将 p12 转换为 P8?
  • @ParthMehta 你有解决办法吗?
  • 这里也一样。我没有看到 Apple Push Notification Authentication Key 选项
  • 同样,我无法使用 `Authentication Key` 选项 :(
【解决方案4】:

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

【讨论】:

  • 如有错误请指正,但那个App ID前缀实际上是Membership Information页面上的Team ID,对吧?因为工具提示清楚地表明它位于“会员信息”页面,甚至链接到它。
  • 那里引用的“密钥 ID”是什么?把我当成菜鸟吧。
  • @UmairAhmed 当您要求注册推送通知时收到的设备令牌字符串。
  • 没有。它不是设备令牌。它是 .p8 文件名称中下划线后面的字符串。像这样 ---> AuthKey_A5HG8NYIFC.p8。您也可以在 Apple Developer Website 的 Certificates, Identifiers & Profiles 部分的 Key 菜单中创建密钥后看到它。
【解决方案5】:

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

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

  1. 前往您的Apple developer account
  2. 转到keys部分并点击加号按钮(或click here):

⚠️ 选择keys 部分和NOT certificateidentifiers 非常重要。否则你最后会得到.cer 文件??‍♂️

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

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

  1. 下载.p8 文件并将其保护在某个地方。

【讨论】:

  • 就是这个,谢谢!!在尝试将 .cer 转换为 .pem 或 .p12 和 .p8 2 小时后,答案非常简单。
【解决方案6】:

按照以下步骤操作:

1.生成 APNs 身份验证密钥
在您的开发者中心打开 APNs Auth Key 页面,然后单击 + 按钮创建一个新的APNs Auth Key

在下一页中,选择 Apple Push Notification Authentication Key (Sandbox & Production),然后点击页面底部的继续。

Apple 随后会生成一个包含您的 APNs Auth Key 的 .p8 密钥文件。

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

2。发送推送通知

参考:APNS (Configure push notifications)

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

【讨论】:

  • APN 的身份验证密钥在我的开发人员门户中不存在。有谁知道为什么?
  • @ckim16 - 它可以生成一次,并且不再可见(删除 APNS Auth 密钥选项)。这是对您查询的参考(help.apple.com/xcode/mac/current/#/...)。如果您之前已生成它,那么您将不会再看到它。
  • 我想知道您的链接是否仅适用于付费拥有 Apple Developer 帐户的人。对我来说,它重定向到developer.apple.com/account/#/welcome
  • @Krunal 过去几天我一直在尝试使用 .p8 文件连接到 Firebase 云消息传递,但我无法让它工作。请看看我的问题stackoverflow.com/questions/50292269
  • 它没有为我下载 p8 文件:-|
【解决方案7】:

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

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

选择 Apple 推送通知服务 (APNs),输入密钥名称(随便)。

然后点击“继续”,在“注册”之后就可以下载了。

【讨论】:

    【解决方案8】:

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

    【讨论】:

    • 谢谢,我正是在找那个。 FCM 控制台中的标签明显错误,即使一年后也没有人注意到该错误。
    猜你喜欢
    • 1970-01-01
    • 2018-10-21
    • 2020-06-30
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    相关资源
    最近更新 更多