我已经创建了证书来启用我的应用程序中的推送服务,但每次我尝试在我的钥匙链中添加证书时,添加证书后它会显示以下错误:

此证书的颁发者无效


当前回答

如果你从fastlane建议中得到这个错误

在尝试以上所有修复后 Security find-identity -v -p codesigning返回找到的有效身份 错误只发生在构建服务器上 如果你“手动”登录,一切正常

那么这可能是由于分发证书在错误的地方:

“登录”钥匙串在登录时工作 “系统”密钥链与构建服务器作为守护进程运行

用屏幕截图检查这个答案,你可以在登录钥匙串中右键单击分发证书,并将其粘贴到系统中。

其他回答

在苹果的开发者门户网站中,添加一个新证书,当被问到“你需要哪种类型的证书?”时,选择“WorldWide Developer relations certificate”。生成新的证书,下载并安装。当您这样做时,您将不再看到您所描述的消息。

编辑: 证书下载路径如下: https://www.apple.com/certificateauthority/ 您可以选择以下两种证书之一: "WWDR证书(将于02/07/23到期)" 或 "WWDR证书(2016年2月14日到期)"

如Apple全球开发者关系中间证书到期所述:


之前的Apple Worldwide Developer Relations Certification中级证书已于2016年2月14日到期,现在必须在签署Apple Wallet pass、Safari推送通知推送包、Safari扩展以及向Apple TV的App Store、Mac App Store和App Store提交文件时使用更新的证书。

所有开发人员都应该下载并在其开发系统和服务器上安装更新后的证书。所有应用程序将继续在iOS、Mac和Apple TV的应用程序商店中使用。


新的有效证书将如下所示:

它将显示(此证书有效)绿色标记。

所以,去你的钥匙链访问。只需删除旧的证书,并按照苹果在文档中描述的那样替换为新的证书(更新后的证书)。主要问题是苹果推送通知服务和苹果文档中描述的扩展。

您还可以在https://www.apple.com/certificateauthority/中查看证书列表

证书撤销列表:

现在,更新后的证书将在2023-02-08到期。


如果您不能看到旧证书,然后转到系统密钥链,从编辑菜单中选择选项显示过期证书。

现在您可以看到以下您必须删除的证书:

如果你从fastlane建议中得到这个错误

在尝试以上所有修复后 Security find-identity -v -p codesigning返回找到的有效身份 错误只发生在构建服务器上 如果你“手动”登录,一切正常

那么这可能是由于分发证书在错误的地方:

“登录”钥匙串在登录时工作 “系统”密钥链与构建服务器作为守护进程运行

用屏幕截图检查这个答案,你可以在登录钥匙串中右键单击分发证书,并将其粘贴到系统中。

下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer 双击安装到Keychain。 在钥匙串应用程序中选择“查看”->“显示过期证书”。 确认选择“证书”类别。 从“登录”标签和“系统”标签中删除过期的Apple全球开发者关系证书颁发机构证书。


以下是苹果的答案。

Thanks for bringing this to the attention of the community and apologies for the issues you’ve been having. This issue stems from having a copy of the expired WWDR Intermediate certificate in both your System and Login keychains. To resolve the issue, you should first download and install the new WWDR intermediate certificate (by double-clicking on the file). Next, in the Keychain Access application, select the System keychain. Make sure to select “Show Expired Certificates” in the View menu and then delete the expired version of the Apple Worldwide Developer Relations Certificate Authority Intermediate certificate (expired on February 14, 2016). Your certificates should now appear as valid in Keychain Access and be available to Xcode for submissions to the App Store.

https://forums.developer.apple.com/thread/37208

请遵循以下步骤:

从这里下载和安装。双击并安装它。 在钥匙串应用程序中选择“查看”->“显示过期证书”。 删除Apple全球开发者关系证书授权 证书从“登录”标签和“系统”标签在钥匙串应用程序。

如果您在登录或系统选项卡中没有找到您的WWDR证书,则选择左侧的类别“所有项目”。您很可能会在这里看到一个过期的WWDR证书,您可以删除它。过期的证书总是用红色星号显示。