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

此证书的颁发者无效


当前回答

如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到期。


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

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

其他回答

我所有的证书都安装好了,过期日期也没有问题。 我删除并重新安装了我所有的证书,仍然没有运气

最后,我右键点击证书,并选择“Get Info”。在“信任”部分,我选择了“始终信任”,这就解决了我的问题。

这实际上不是一个发展问题。这是由于苹果全球开发者关系证书颁发机构颁发的苹果全球开发者关系中级证书到期导致的。WWDRCA颁发证书为您的Apple设备软件签名,允许我们的系统确认您的软件已按预期交付给用户,并且没有进行修改。

要解决此问题,您必须遵循以下步骤:

开放钥匙串访问 执行“查看”->显示过期证书

进入钥匙链中的系统 在这里你会发现“Apple Worldwide Developer Relations Certificate Authority”被标记为过期。所以删掉它。同时在登录标签下检查并删除过期的WWDRCA。 从这里下载新的WWDR中级证书(更新的Apple全球开发者关系认证中级证书将于2023年2月7日到期)。 双击它来安装它。

如果您的iOS应用程序、Mac应用程序、Safari扩展程序、Apple Wallet和Safari推送通知仍然存在任何问题,请点击此过期链接。

The Apple Worldwide Developer Relations Certification Intermediate Certificate expires soon and we've issued a renewed certificate that must be included when signing all new Apple Wallet Passes, push packages for Safari Push Notifications, and Safari Extensions starting February 14, 2016. While most developers and users will not be affected by the certificate change, we recommend that all developers download and install the renewed certificate on their development systems and servers as a best practice. All apps will remain available on the App Store for iOS, Mac, and Apple TV.

您需要从右上角搜索栏搜索World,删除过期的证书。确保您选择了登录和所有项。

我想我想明白了。我导入了新的WWDR证书,该证书将在2023年到期,但我仍然在构建过程中遇到问题,我的开发人员证书仍然显示无效的发行者错误。

在keychain访问方式下,执行“查看->显示过期证书”。然后在您的登录钥匙串突出显示过期的WWDR证书,并删除它。 我的系统钥匙串中也有同样过期的证书,所以我也把它删除了(这很重要)。

在从登录和系统密钥链中删除过期的证书后,我能够再次为分发版构建。

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

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

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

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

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