我在我的应用程序中使用Urban飞艇进行推送通知。因此,我需要从Apple开发人员门户网站下载推送SSL证书。下载后,我在钥匙串访问中添加了。但是没有为证书创建私钥。当我尝试右键单击并导出证书时,我无法将其导出为 .p12 文件,因为在保存时已禁用 .p12 文件扩展名。由于声誉较低,我无法在此附上截图。
有人请告诉我这里的问题在哪里。我该怎么做?
答案 0 :(得分:478)
原来你要做的就是选择左侧面板上的“我的证书”,然后启用.p12选项。
答案 1 :(得分:74)
就我而言,我将.cer文件设置为“system”选项而不是“login”选项。然后我将.cer文件从“系统”移动到“登录”选项然后按“我的证书”然后导出它.p12就可以了..
答案 2 :(得分:25)
Apple不会存储您用于创建证书的私钥。你需要在你的机器上有一份副本。
听起来似乎有人请求你试图下载的推送证书,或者你在另一台机器上请求它。如果找不到私钥,则需要创建新的证书请求并通过开发人员门户上传。
答案 3 :(得分:12)
要以p12导出,您需要从您的机器生成证书,或者使用用于在您的机器上生成证书的密钥。
确保这样做:
登录Apple的开发中心
转到配置门户或证书,标识符&配置文件
转到证书并创建Apple推送通知服务SSL 从这里开始,您将被引导通过证书生成过程。
下载生成的证书后,将其安装在钥匙串中(双击证书文件或拖放到钥匙串窗口。
然后从左侧面板中选择“证书”。右键单击要导出的证书,p12选项将在那里。
注意:除非您从计算机生成证书,否则它不会出现
答案 4 :(得分:10)
对我而言,不是右键单击Keychain Access中的主证书行并选择Export
,我必须单击我尝试导出的证书旁边的下拉箭头,然后右键 - 单击下面的条目,然后选择Export
。然后,您实际上是选择私钥部分而不是公钥部分。
答案 5 :(得分:7)
除了验证证书是否来自Keychain Access的证书请求 - >同一台计算机上的证书助手,确保将收到的.cer文件安装到正确的钥匙串中。
执行此操作的最佳方法是在左侧钥匙串下选择相应的钥匙串,最有可能是“登录”,确保在“类别”下选择“我的证书”,然后将.cer文件拖放到主文件列表区域。
答案 6 :(得分:4)
让您选择私钥而不是公钥,因为列表中可能同时包含这两种类型。
答案 7 :(得分:0)
您可以使用Onesignal provisionator tool创建推送SSL证书。它是免费的,并为您完成所有令人困惑的工作。
它会在您生成当前文件时将其撤销,因此,如果您还活着的话,将其上传到相关位置时务必要快。
这与OneSignal推送通知配合使用,但是我看不出为什么其他推送通知不起作用。
答案 8 :(得分:0)
尝试了以上许多建议,这是对我有用的解决方案(@Greg):
在生成证书签名请求时,在<钥匙链访问>的左侧中选择的钥匙链必须与将签名的证书重新导入到的同一钥匙链。 否则,它将其视为其他人的访问,并且钥匙串访问不会在下拉列表中显示私钥。
答案 9 :(得分:0)
就我而言,直到我按证书名称搜索才显示证书!我什至拍摄了视频作为证明。 都选择了“登录”和“我的证书”,我经历了整个流程,从头开始重新生成它两次,每次都不存在证书时,我就无法导出.p12文件。在搜索栏中输入名称后,它就会出现! :flip_table_emoji:
Apple,修复您的错误!我一生2个小时永远都不会回来。