无法导出。p12格式的Apple生产推送SSL证书

我使用城市飞艇在我的申请推送通知。所以,我需要从苹果开发者门户下载推送SSL证书。下载后,我在钥匙链访问中添加了它。但是没有为证书创建私钥。当我尝试右键单击并导出证书时,我无法将其导出为.p12文件,因为保存时禁用了.p12文件扩展名。由于名声不佳,我无法在这里附上截图。

谁能告诉我问题出在哪里。我该怎么做呢?

99265 次浏览

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

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

原来你所要做的就是选择“我的证书”;在左面板上,它启用了.p12选项。

enter image description here

使您选择的是私钥而不是公钥,因为列表中可能有这两种类型。

在我的例子中,我把.cer文件变成了“system”选项,而不是“login”选项。然后我把。cer文件从“系统”移到“登录”选项,然后按“我的证书”,然后导出它。p12就可以了。

除了验证证书是通过同一计算机上的Keychain Access -> certificate Assistant的证书请求颁发的外,还要确保接收到的.cer文件安装到正确的Keychain中。

做到这一点的最佳方法是在左侧的Keychains下选择适当的密钥链,最有可能是“login”,确保“My Certificates”在Category下被选中,然后将.cer文件拖放到主文件列表区域。

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

为了导出为p12,您需要从您的机器上生成证书,或者在您的机器上拥有用于生成证书的密钥。

为了确保这将是有效的:

  1. 登录苹果的Dev Center

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

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

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

  5. 然后在左侧面板中选择“Certificates”。右键单击要导出的证书,p12选项就会出现。

注意:它不会在那里,除非你从你的机器生成证书

你可以使用一个信号供应工具来创建一个推送SSL证书。它是免费的,并为你做了所有令人困惑的事情。

它将撤销你当前的一个,因为你生成它,所以重要的是,当你上传它到相关的地方,如果你是活着的。

这在我的onessignal推送通知中是可行的,但我认为它没有理由不适用于其他推送通知。

尝试了上面的很多建议,这是对我有效的解决方案(@Greg):

当生成证书签名请求必须与您导入已签名证书的密钥链相同时,在keychain Access中您拥有在左边被选中的keychain。 否则它会将其视为其他人的,并且keychain访问将不会在下拉菜单中显示私钥

在我的情况下,证书没有出现,直到我搜索它的名称!我甚至拍了一段视频作为证据。 “Login"和“我的证书”;都被选中了,我经历了完整的流程,从头开始重新生成它两次,每次都没有证书供我导出.p12文件。一旦我在搜索栏中输入它的名字,它就出现了! : flip_table_emoji: < / p >

苹果,修复你的漏洞!我生命中永远回不来的两个小时。

您需要选择“证书”;访问密钥链中的选项卡。

enter image description here