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

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


当前回答

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

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

其他回答

事实证明,你所要做的就是选择左边面板上的“My Certificates”,它就会启用.p12选项。

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

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

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

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

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

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

在生成证书签名请求时,在“密钥链访问”中左侧选择的密钥链必须与您导入已签名证书的密钥链相同。 否则它会将其视为其他人的,并且钥匙链访问不会在下拉列表中显示私钥。

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

为了确保这将是有效的:

Log in to Apple's Dev Center Go to the Provisioning Portal or Certificates, Identifiers & Profiles Go to Certificates and create a Apple Push Notification service SSL From here on you will be guided through the certificate generation process. After you download the generated cert, install it in your keychain (double click the cert file or drag and drop into the keychain window. Then select "Certificates" from the left panel. Right click the cert you want to export and the p12 option will be there.

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