无法以.p12格式导出Apple生产推送SSL证书


172

我在应用程序中使用Urban飞艇进行推送通知。因此,我需要从Apple开发人员门户网站下载推送SSL证书。下载后,我在钥匙串访问中添加了它。但是没有为证书创建私钥。当我尝试右键单击并导出证书时,由于保存时禁用了.p12文件扩展名,因此无法将其导出为.p12文件。由于声誉较差,我无法在此处附加屏幕截图。

有人告诉我这里的问题在哪里。我该怎么办?

Answers:


575

原来您需要做的是在左侧面板上选择“我的证书”,它启用.p12选项。


32
似乎,由于没有可用的私钥,因此该证书未列在“我的证书”下。仅在“证书”下显示。
commonpike的

3
有时,您需要将钥匙串应用重新启动到证书中才能显示出来。
Borzh '16

1
与@commonpike相同的问题,不在列表中。jdev112388的答案是正确的。看起来苹果又改变了事情
Joel

6
另一件事:如果要从同一台计算机生成,则必须生成。实际上,您必须从同一个KEYCHAIN生成证书签名请求!
格雷格

2
如果这不是错误,那是我所听说过的最奇怪的功能……
魁北克

96

就我而言,我将.cer文件设置为“系统”选项,而不是“登录”选项。然后将.cer文件从“系统”移动到“登录”选项,然后按“我的证书”,然后将其导出.p12即可。


8
很奇怪,但确实如此
ED-209

1
WTF!绝对疯狂,但也为我工作。它还使下拉箭头和私钥出现。非常感谢你!
AlbertoC

真的很担心2小时后会发生什么!!你救了我。非常感谢。
kalpa

我做了同样的事情,并且能够导出.p12。谢谢。我当时想撤销它,并从其他机器上执行它,但是它可以工作。
Manish Nahar

它对我不起作用。我的“我的证书”部分中仍然看不到任何证书。我创建了一个全新的certificatesigningrequest文件。将其上传到Apple开发人员门户网站以下载APNS证书。我双击了那个,但是它只出现在“证书”部分。有任何想法吗?
Nazar Medeiros

29

Apple不会存储您用于创建证书的私钥。您需要已经在计算机上拥有它的副本。

听起来好像是有人请求您尝试下载的推送证书,或者您是在另一台计算机上请求的。如果找不到私钥,则需要创建一个新的证书请求并通过开发人员门户上载它。


但是有一件事...如果我仍然获得了私钥,该如何将其与现有的推送证书集成。
Rashmi Ranjan mallick 2013年

1
您应该询问拥有私钥的任何人将其导出并发送给您。然后,您可以将其添加到钥匙串中,并与您的推送证书一起创建p12文件。
lxt

当我从一开始就完全在同一Macbook上执行请求时,该证书仍未出现在“我的证书”中。
Nazar Medeiros

16

为了导出为p12,您要么需要从计算机生成证书,要么需要具有用于在计算机上生成证书的密钥。

为确保此功能有效:

  1. 登录到Apple开发中心

  2. 转到供应门户或证书,标识符和配置文件

  3. 转到证书并创建Apple Push Notification服务SSL。从这里开始,将指导您完成证书生成过程。

  4. 下载生成的证书后,将其安装在钥匙串中(双击证书文件或将其拖放到钥匙串窗口中。

  5. 然后从左侧面板中选择“证书”。右键单击要导出的证书,然后将显示p12选项。

注意:除非您从计算机生成证书,否则它将不存在


1
这里的关键是您从计算机生成它。实际上,您必须从同一个KEYCHAIN生成证书签名请求!
格雷格

创建CSR时,证书助手始终使用设置为默认值的任何钥匙串。如果要在特定钥匙串中生成密钥,请在开始CSR流程之前将其设置为默认值。创建CSR后,您可以将其重新设置。导入从Apple下载的证书时,将其导入具有密钥对的钥匙串中。

10

对我来说,不是右键单击Keychain Access中的主证书行并选择Export,而是必须单击我要导出的证书旁边的下拉箭头,然后右键单击该证书下面的条目,然后选择Export。然后,您实际上是在选择私钥部分而不是公钥部分。


1
为了使箭头可见,我需要将“类别”设置为“证书”,而不是“所有项目”
Dakusan

究竟。右键单击证书本身不会在上下文菜单中产生“导出”选项
Konstantin Salavatov

9

除了验证证书是从同一台计算机上的“钥匙串访问”->“证书助手”发出的证书请求发出的证书之外,还要确保将接收到的.cer文件安装到正确的钥匙串中。

最好的方法是在左侧“钥匙串”下选择适当的钥匙串,最有可能是“登录”,确保在“类别”下选择了“我的证书”,然后将.cer文件拖放到主文件列表区域。


感谢@Gavin提到“选择适当的钥匙串”,我双击cer文件,它始终在系统钥匙串中进行。
高压

它对我不起作用。我的“我的证书”部分中仍然看不到任何证书。我创建了一个全新的certificatesigningrequest文件。将其上传到Apple开发人员门户网站以下载APNS证书。我双击了那个,但是它只出现在“证书”部分。有任何想法吗?
Nazar Medeiros

4

让您选择一个私钥而不是一个公钥,因为您可能在列表上同时拥有这两种类型。


0

您可以使用Onesignal供应商工具来创建推送SSL证书。它是免费的,并为您完成所有令人困惑的工作。

它会在您生成当前文件时将其撤消,因此,如果您还活着的话,将其上传到相关位置时务必要快。

这与OneSignal推送通知一起使用,但是我看不出为什么其他推送通知不起作用。

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.