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

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


当前回答

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

其他回答

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

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

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

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

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

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

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