此证书的颁发者无效 Apple Push Services
Posted
技术标签:
【中文标题】此证书的颁发者无效 Apple Push Services【英文标题】:This certificate has an invalid issuer Apple Push Services 【发布时间】:2016-05-25 05:22:55 【问题描述】:我已创建证书以在我的应用程序中启用推送服务,但每次我尝试在我的钥匙串中添加证书时,添加证书后都会显示以下错误:
此证书的颁发者无效
【问题讨论】:
developer.apple.com/support/certificates/expiration 查看这个***.com/a/35406327/5512225 对投票结束的人的注意事项:这是热带地区,因为它是关于程序员使用的工具。 读者应该注意,这个问题并不是推送服务所特有的,但同样适用于过期的 iOS 和 Mac 开发者和分发证书。 (这些解决方案同样适用。) 恭喜你提出了最相关的问题,在下载代码签名身份的步骤中,这个 Q 是由 ios fastlane 的行业标准 CI 工具链接到的。 【参考方案1】:在 Apple 的开发者门户中,添加一个新证书,当询问“您需要哪种类型的证书?”时选择“全球开发者关系证书”。生成新证书,下载并安装。执行此操作的那一刻,您将不再看到您描述的消息。
编辑: 证书可从以下页面下载: https://www.apple.com/certificateauthority/ 您可以选择以下两个证书之一: “WWDR 证书(23 年 2 月 7 日到期)” 要么 “WWDR 证书(2016 年 2 月 14 日到期)”
【讨论】:
添加新证书时没有这个选项出现 已下载并安装了新证书,但仍然遇到同样的问题 - 还有什么需要做的吗? @MrZorn 我遇到了同样的问题,但仅供参考,我尝试导出 p12 并且它仍然有效。 @MrZorn 你需要去查看 -> 显示过期 -> 删除旧的 WWDR 证书 如果我要使用 Github 操作工作流运行 macOS 运行程序,我将如何确保执行此步骤?【参考方案2】:尝试将本地日期设置为早于 2 月 14 日。对我有用!不是一个完整的解决方案,而是暂时解决问题。
【讨论】:
就像你说的,这不是一个解决方案。但这仍然很有趣,这就是为什么我不会投反对票。【参考方案3】:我想我已经解决了这个问题。我导入了 new WWDR Certificate that expires in 2023,但我仍然遇到构建问题,我的开发人员证书仍然显示无效的颁发者错误。
在钥匙串访问中,转到查看 -> 显示过期证书。然后在您的登录钥匙串中突出显示过期的 WWDR 证书并将其删除。 我的系统钥匙串中也有相同的过期证书,所以我也从那里删除了它(重要)。从登录和系统钥匙串中删除过期证书后,我能够再次为分发构建。
【讨论】:
非常感谢。这也对我有用。从登录和系统钥匙串中删除过期的证书很重要。 已按照之前的建议删除基于“显示过期证书”,但只完成了登录。从系统中删除也可以解决问题。 请注意,您也需要从系统中删除它 对我来说,我已经有了新的证书(2023 年到期),但我也有已经过期的旧证书。两者都在我的系统钥匙串中。删除旧证书后,我就可以使用我的分发证书进行构建。 从系统中删除过期的证书是相当重要的。【参考方案4】:这是我们解决此问题的方法。
第 1 步:打开 Keychain 访问权限,从“登录”和“系统”中删除“Apple 全球开发者关系证书颁发机构”(2016 年 2 月 14 日到期) “部分。 如果找不到,请使用“查看”菜单中的“显示过期证书”。
第2步:下载this并将其添加到钥匙串访问 -> 证书 (2023 年 2 月 8 日到期)。
第 3 步:现在一切都应该恢复正常并正常工作了。
参考:Apple Worldwide Developer Relations Intermediate Certificate Expiration
【讨论】:
我被困在我应该删除旧证书的地方 - 由于 UNIX 权限错误而无法这样做 - 这个线程刚刚挽救了我的生命:***.com/questions/35511314/… 谢谢,这很好。在删除该证书之前,我在 Xcode Accounts 中的签名身份旁边有重置按钮,但按下它们没有任何作用。删除过期的“Apple 全球开发者关系证书颁发机构”证书后,我可以在 Xcode 中的每个项目上按重置并清除它(重置按钮消失)。顺便说一句……我的天啊,Apple,你能不能让这些东西更好用?我发誓在这些疯狂的证书/配置文件/签名问题上浪费了数万小时的开发人员时间......让它发挥作用! 如果我要使用 Github 操作工作流运行 macOS 运行程序,我将如何确保执行此步骤?【参考方案5】:-
下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
并双击安装到 Keychain。
在钥匙串应用中选择“查看”->“显示过期证书”。
确认选择了“证书”类别。
从“登录”选项卡和“系统”选项卡中删除过期的 Apple 全球开发者关系证书颁发机构证书。
这是苹果的答案。
感谢您提请社区注意此问题,并对您遇到的问题表示歉意。此问题源于您的系统和登录钥匙串中都有过期的 WWDR 中间证书的副本。要解决此问题,您应首先下载并安装新的 WWDR 中间证书(通过双击文件)。接下来,在 Keychain Access 应用程序中,选择 System keychain。确保在 View 菜单中选择“Show Expired Certificates”,然后删除 Apple Worldwide Developer Relations Certificate Authority Intermediate 证书的过期版本(2016 年 2 月 14 日过期)。您的证书现在应该在 Keychain Access 中显示为有效,并且可供 Xcode 提交到 App Store。
https://forums.developer.apple.com/thread/37208
【讨论】:
从钥匙串中删除过期的 Apple Worldwide Developer 证书只会有所帮助,但有时钥匙串不会显示您已退出并打开钥匙串,然后再次搜索 Apple Worldwide Developer 并确保您应该选择 Allkeys。修复此问题需要花费大量时间,因为在多次删除后仍然出现过期的 Apple 全球开发者证书。 完成以上步骤后,是否需要重新导出苹果推送服务证书并上传到我的服务器?突然推送通知不起作用。 我被困在我应该删除旧证书的部分 - 由于 UNIX 权限错误而无法这样做 - 这个线程刚刚救了我的命:***.com/questions/35511314/…【参考方案6】:按照以下步骤操作:
-
从here 下载并安装。双击安装。
在钥匙串应用中选择“查看”->“显示过期证书”。
删除 Apple 全球开发者关系证书颁发机构
Keychain 应用中“登录”选项卡和“系统”选项卡中的证书。
如果您在 登录 或 系统 选项卡中没有找到您的 WWDR 证书,请选择左侧的类别“所有项目” .您很可能会在此处看到过期的 WWDR 证书,您可以将其删除。过期的证书始终带有红色星号。
【讨论】:
如果我要使用 Github 操作工作流运行 macOS 运行程序,我将如何确保执行此步骤?【参考方案7】:如果您的所有证书都面临“此证书的颁发者无效”错误,请执行以下步骤。
步骤:
打开钥匙串并单击左侧面板中的登录 -> 所有项目。 现在,点击顶部导航菜单中的查看 -> 显示过期证书。 现在搜索“Apple Worldwide Developer Relations Certification Authority”并删除过期证书。 删除过期证书后,访问以下网址下载新证书, https://developer.apple.com/certificationauthority/AppleWWDRCA.cer。 双击新下载的证书,并将其安装到您的钥匙串中。 仔细检查:按照第 3 步列出过期证书。 现在您拥有一个有效的“Apple Worldwide Developer Relations Certification Authority”,有效期为 2023-02-07。参考:
Apple Worldwide Developer Relations Intermediate Certificate Expiration【讨论】:
如果我要使用 Github 操作工作流运行 macOS 运行程序,我将如何确保执行此步骤?【参考方案8】:这实际上不是一个开发问题。这是由于 Apple Worldwide Developer Relations Certificate Authority 颁发的 Apple Worldwide Developer Relations Intermediate Certificate 到期所致。 WWDRCA 颁发证书以对您的 Apple 设备软件进行签名,从而使我们的系统能够确认您的软件已按预期交付给用户并且未被修改。
要解决此问题,您必须按照以下步骤操作:
-
打开钥匙串访问
转到查看 -> 显示过期证书
转到钥匙串中的系统
在这里您发现“Apple 全球开发者关系证书颁发机构”被标记为已过期。所以删除它。还要检查登录选项卡下并删除过期的 WWDRCA。
从此处下载新的WWDR Intermediate Certificate(续订的 Apple 全球开发者关系认证中级证书将于 2023 年 2 月 7 日到期)。
双击安装。
如果您的 iOS 应用、Mac 应用、Safari 扩展程序、Apple Wallet 和 Safari 推送通知仍然存在任何问题,请关注this link of expiration。
Apple 全球开发者关系认证中级 证书即将到期,我们已签发更新的证书 签署所有新的 Apple Wallet Pass 时必须包含在内,推送 Safari Push Notifications 和 Safari Extensions 的包开始 2016 年 2 月 14 日。
虽然大多数开发者和用户不会受到 证书更改,我们建议所有开发人员下载并 在他们的开发系统上安装更新的证书,并 服务器作为最佳实践。所有应用程序将在应用程序上保持可用 适用于 iOS、Mac 和 Apple TV 的商店。
【讨论】:
需要确保它真的被删除..现在可以工作了。谢谢。 这很有趣。我的证书也有问题,但在其他方面 我在尝试删除旧证书时遇到了困难 - 由于 UNIX 权限错误而无法做到 - 而这个线程刚刚挽救了我的生命:***.com/questions/35511314/… 如果我要使用 Github 操作工作流运行 macOS 运行程序,我将如何确保执行此步骤?【参考方案9】:如Apple Worldwide Developer Relations Intermediate Certificate Expiration中所述:
之前的 Apple 全球开发者关系认证中级证书已于 2016 年 2 月 14 日过期,现在必须在签署 Apple Wallet Pass、Safari 推送通知的推送包、Safari 扩展程序和提交到 App Store、Mac App Store 和 Apple TV 的 App Store。
所有开发人员都应在其开发系统和服务器上下载并安装renewed certificate。所有应用都将在适用于 iOS、Mac 和 Apple TV 的 App Store 中继续提供。
新的有效证书如下所示:
它将显示(此证书有效)带有绿色标记。
所以,转到您的钥匙串访问权限。只需删除旧证书,并将其替换为 Apple 在文档中描述的新证书 (renewed certificate)。主要问题在于 Apple 文档中描述的 Apple 推送通知服务和扩展。
您也可以查看https://www.apple.com/certificateauthority/中的证书列表
证书吊销清单:
现在这个更新的证书将于 2023 年 2 月 8 日到期。
如果您看不到旧证书,请转到系统钥匙串并从编辑菜单中选择选项显示过期证书。
现在您可以看到以下必须删除的证书:
【讨论】:
如果我要使用 Github 操作工作流运行 macOS 运行程序,我将如何确保执行此步骤?【参考方案10】:您需要从右上角的搜索栏中搜索世界并删除过期的证书。确保您选择了登录和所有项目。
【讨论】:
如果我要使用 Github 操作工作流运行 macOS 运行程序,我将如何确保执行此步骤?【参考方案11】: 我的所有证书都已安装并且过期日期没问题。 我删除并重新安装了我的所有证书,仍然没有运气最后,我右键单击证书,然后选择“获取信息”。在“信任”部分下,我选择了“始终信任”,这解决了我的问题。
【讨论】:
【参考方案12】:2021 年:
-
从以下位置下载 AppleWWDRCAG3.cer(有效期至 2030 年)
https://developer.apple.com/support/expiration/
安装它
【讨论】:
【参考方案13】:如果您是从 Fastlane 来到这里的,那么这个 sn-p 可能会修复您的 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
)
【讨论】:
以上是关于此证书的颁发者无效 Apple Push Services的主要内容,如果未能解决你的问题,请参考以下文章