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

此证书的颁发者无效


当前回答

如果您是从Fastlane来到这里的,那么这个片段可能会修复您的CI部署。在签名之前执行它。

 apple_intermediate_certificate_path = "/tmp/AppleWWDRCAG3.cer"
`curl https://www.apple.com/certificateauthority/AppleWWDRCAG3.cer --output #{apple_intermediate_certificate_path}`

other_action.import_certificate(
  certificate_path: apple_intermediate_certificate_path,
  keychain_name: YOUR_KEYCHAIN_NAME,
  keychain_password: YOUR_KEYCHAIN_PASSWORD
)

其他回答

当地日期尽量早于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到期。


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

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

2021年:

下载AppleWWDRCAG3。Cer(有效期至2030年) https://developer.apple.com/support/expiration/ 安装它

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

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

请遵循以下步骤:

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

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