该证书具有无效的发行人Apple Push Services


464

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

该证书的发行人无效

在此处输入图片说明




52
投票赞成关闭的人的注意事项:这是在线的,因为它与程序员使用的工具有关。
伊恩·林罗斯

读者应注意,此问题并非特定于Push Services,但对于过期的iOS和Mac Developer和Distribution证书同样可以发现。(这些解决方案同样适用。)
大卫

恭喜最相关的问题,在下载称为Match的代码签名身份的步骤中,此Q与iOS fastlane的行业标准CI工具链接在一起。
Sajjon

Answers:


621

我想我已经弄明白了。我导入了新的WWDR证书,证书将在2023年到期,但是我仍然在构建时遇到问题,而我的开发人员证书仍然显示无效的颁发者错误。

  • 在钥匙串访问中,转到查看 -> 显示过期的证书。然后在您的登录钥匙串中,突出显示已过期的WWDR证书并将其删除。
  • 我的系统钥匙串中也有相同的过期证书,因此我也从那里删除了它(重要)。

从登录和系统钥匙串中删除过期的证书后,我能够再次为分发进行构建。


5
非常感谢你。这也为我工作。从登录和系统钥匙串中删除过期的证书很重要。
dfmuir '16

37
遵循先前的建议,基于“显示过期的证书”进行删除,但仅完成了登录。也从系统删除了把戏。
markdwhite '16

13
请注意,您也需要将其也从系统中删除
Soufiane.ess

5
对我来说,我已经拥有了新证书(该证书将在2023年到期),但我也拥有一个已经过期的旧证书。两者都在我的系统钥匙串中。删除旧证书后,便可以使用发行证书进行构建。
CoBrA2168 '16

5
从系统中删除过期的证书非常重要。
Nitish

256
  1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer 并双击以安装到Keychain。
  2. 在“钥匙串”应用中选择“查看”->“显示过期的证书”。
  3. 确认已选择“证书”类别。

    在此处输入图片说明

  4. 从“登录”选项卡和“系统”选项卡中删除过期的Apple Worldwide Developer Relations证书颁发机构证书。


这是苹果的答案。

感谢您引起社区注意,并为您遇到的问题深表歉意。此问题源于在系统和登录钥匙串中都拥有已过期的WWDR中级证书的副本。要解决此问题,您应该首先下载并安装新的WWDR中间证书(通过双击文件)。接下来,在“钥匙串访问”应用程序中,选择“系统”钥匙串。确保在“查看”菜单中选择“显示过期的证书”,然后删除“ Apple全球开发者关系证书颁发机构中间证书”的过期版本(于2016年2月14日过期)。您的证书现在应该在“钥匙串访问”中显示为有效,并且Xcode可以将其提交给App Store。

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


从钥匙串中删除过期的Apple Worldwide Developer证书只会有帮助,但有时钥匙串未显示您已退出并打开钥匙串,然后再次搜索Apple Worldwide Developer并确保您应该选择Allkeys。花费大量时间解决此问题,因为经过多次删除后,过期的Apple Worldwide Developer证书仍然出现。
ashish

完成上述步骤后,是否需要重新导出Apple Push Service证书并将其上传到服务器中?突然推送通知不起作用。
阿西克·阿卜杜拉

我被困在那里我应该删除旧的证书的一部分-不能做它由于UNIX权限错误-而这只是线程救了我的命:stackoverflow.com/questions/35511314/...
o.shnn

156

这实际上不是开发问题。这是由于Apple Worldwide Developer Relations证书颁发机构颁发的Apple Worldwide Developer Relations中级证书到期而导致的。WWDRCA颁发证书来对您的Apple设备进行软件签名,从而使我们的系统能够确认您的软件已按预期交付给用户,并且未经修改。

要解决此问题,您必须按照以下步骤操作:

  1. 开放式钥匙串访问
  2. 转到查看 -> 显示过期的证书

在此处输入图片说明

  1. 转到系统中的钥匙串 在此处输入图片说明

  2. 在这里,您发现“ Apple全球开发人员关系证书颁发机构”被标记为已过期。所以删除它。还要在“登录”选项卡下检查并删除过期的WWDRCA。

  3. 从此处下载新的WWDR中间证书(更新的Apple Worldwide Developer Relations认证中间证书将在2023年2月7日到期)。

  4. 双击安装它。

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

自2016年2月14日起,Apple全球开发人员关系认证中间证书即将过期,并且我们在签署所有新的Apple Wallet Pass,用于Safari Push Notifications的推送包和Safari Extensions时,必须发行一个续订的证书。

尽管大多数开发人员和用户都不会受到证书更改的影响,但我们建议所有开发人员将更新的证书下载并安装在其开发系统和服务器上,这是最佳做法。所有应用程序仍将在iOS,Mac和Apple TV的App Store上可用。


需要确保它确实被删除了。谢谢。
preetam '16

那很好笑。我也有那个证书的问题,但是以另一种方式
CocoaBean

2
我在尝试删除旧证书时
遇到了麻烦

101

这是我们解决此问题的方法。

步骤1:打开“钥匙串”访问权限,从“ 登录 ”和“ 系统 ”部分中删除“苹果全球开发者关系证书颁发机构”(于2016年2月14日到期)。如果找不到,请使用“查看”菜单中的“显示过期的证书”。

第2步:下载此文件并将其添加到“ 钥匙串访问” ->“ 证书”中 (该证书将于2023年2月8日到期)。

第3步:一切应该恢复正常并开始工作。

参考:Apple全球开发人员关系中级证书到期


1
我卡在了应该删除旧证书的位置–由于UNIX权限错误而无法执行–该线程挽救了我的生命:stackoverflow.com/questions/35511314/…–
o.shnn

1
谢谢,这很好。在删除该证书之前,我在Xcode帐户中的签名身份旁边有“重置”按钮,但按这些按钮则无济于事。删除过期的“ Apple全球开发者关系证书颁发机构”证书后,我可以对Xcode中的每个项目按Reset,然后将其清除(“ Reset”按钮消失了)。顺便说一句...我的天哪,苹果,您能不能使这些东西更好地工作?我发誓成千上万的开发时间已经浪费在这些疯狂的证书/配置文件/签名问题上……只是让它工作!!
Ben Stahl

37

在Apple开发人员门户中,添加新证书,并在询问“您需要哪种类型的证书?”时添加该证书。选择“全球开发者关系证书”。生成新证书,下载并安装。执行此操作后,您将不再看到所描述的消息。

编辑:
可以从以下页面下载证书: https ://www.apple.com/certificateauthority/您可以选择以下两个证书之一:“ WWDR证书(23年7月2日到期)”或“ WWDR证书” (即将于02/14/16到期)”


1
当我们添加新证书时,不会出现这样的选项
Aamir

8
下载并安装了新证书,但仍然存在相同的问题-还有其他事情要做吗?
Zorn先生

@MrZorn我遇到了同样的问题,但是仅供参考,我试图导出p12,但它仍然可以正常工作。
superarts.org 2016年

4
@MrZorn U需要去查看->显示已过期->删除旧的WWDR证书
Tj3n

32

请按照以下步骤操作:

  1. 这里下载并安装。双击并安装它。
  2. 在“钥匙串”应用中选择“查看”->“显示过期的证书”。
  3. 从钥匙串应用程序的“登录”选项卡和“系统”选项卡中删除Apple Worldwide Developer Relations证书颁发机构证书。

如果在“ 登录”或“ 系统”选项卡中找不到WWDR证书,请在左侧选择类别“ 所有项目 ”。很可能您会在这里看到过期的WWDR证书,可以将其删除。过期的证书始终显示为红色星号。


28

如果您的所有证书都遇到“此证书的发行者无效”错误,请执行以下步骤。

脚步:

  • 打开钥匙串,然后从左侧面板中单击登录->所有项目。
  • 现在,从顶部导航菜单中单击查看 -> 显示过期的证书
  • 现在搜索“ Apple Worldwide开发人员关系认证中心”,并删除过期的证书。
  • 删除过期的证书后,请访问以下URL并下载新证书 https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
  • 双击新下载的证书,然后将其安装在钥匙串中。
  • 仔细检查:按照步骤3列出过期的证书。
  • 现在,您具有有效的“ Apple全球开发人员关系认证中心”,有效期为2023-02-07。

参考:


23

Apple Worldwide Developer Relations中级证书到期中所述


先前的《 Apple全球开发者关系认证中间证书》于20162月14日到期现在在签署Apple Wallet Pass,Safari推送通知的推送包,Safari扩展程序以及向App Store,Mac App Store提交内容时必须使用更新的证书,和Apple TV的App Store。

所有开发人员都应在其开发系统和服务器上下载并安装更新的证书。所有应用程序仍将在iOS,Mac和Apple TV的App Store上可用。


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

苹果全球开发者关系认证中心

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

因此,转到“钥匙串访问”。只需删除旧证书并将其替换为苹果文件中所述的新证书更新的证书)即可。主要是问题仅与Apple文档中描述的Apple推送通知服务和扩展有关。

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

证书吊销列表:

证书吊销列表

现在,此更新的证书将在2023-02-08过期。


如果看不到旧证书,请转到系统钥匙串,然后从编辑菜单中选择选项显示过期的证书

显示过期的证书

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

删除此证书


20

您需要从右上方的搜索栏中搜索“ 世界”,然后删除过期的证书。确保选择“ 登录”和“ 所有项目”

在此处输入图片说明


16

请尝试将本地日期设置为2月14日之前。对我来说有用!不是完整的解决方案,而是暂时解决的问题。


如您所说,这不是解决方案。但有趣的是,我为什么不投票。
马丁

6
  • 我所有的证书都已安装,并且到期日期还可以。
  • 我删除并重新安装了所有证书,仍然没有运气

最后,我右键单击该证书,然后选择“获取信息”。在“信任”部分下,我选择“始终信任”,这解决了我的问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.