Apple 开发人员帐户会生成无效的推送证书



我正在尝试为 APNS 配置 AWS Mobile Hub。我有 2 个我认为相关的问题。

在 Apple 开发人员门户中,我有 2 个有效的应用预配配置文件,即 iOS 开发和 iOS 分发(所有证书都有将来的到期日期)。当我生成并下载开发推送证书,然后回顾预配配置文件时,两个配置文件都标记为无效。我可以编辑配置文件并使其再次有效,但是当我撤销开发推送证书并创建另一个时,它们将失效(我重新创建推送证书,因为我不确定它是否有效)。

当我尝试通过上传开发推送证书(如上所述创建)向我的 AWS Mobile Hub 项目添加推送通知时,出现错误:

Invalid parameter: Attributes Reason: Platform credentials are invalid

我已经重复了这个过程好几次,同样的事情总是会发生。如果我撤销并重新创建无效的预配配置文件,则会得到相同的事件序列。我不知道为什么生成推送证书会使预配配置文件失效。由于推送证书上传成功,我认为它们的格式是正确的。我不知道证书中的哪个参数可能是错误的源头。

这是怎么回事?

原因是在Mac中,一个钥匙串密钥可以访问多个Apple证书。

应用开发证书和应用 APNS 证书共享相同的钥匙串密钥 (.p12)。但是,相同的钥匙串密钥 (.p12) 仅包含应用开发证书的信息。

您需要以 pem 格式打开钥匙串 (.p12),发现 AWS SNS 控制台意外地在钥匙串密钥 (.p12) 中自动加载了应用程序开发证书,这将导致以下错误。

参数无效:

属性原因:平台凭据无效 (服务:亚马逊SNS;状态代码:400;错误代码:无效参数; 请求 ID: ...

要将证书转换为 pem,请参阅 AWS 指南SNSMobilePushAPNSAPI

OpenSSL PKCs12 -in myapnsappprivatekey.p12 -out myapnsappprivatekey.pem -nodes -clcertsOpenSSL s_client -Connect gateway.sandbox.push.apple.com:2195 -cert myapnsappcert.pem -key myapnsappprivatekey.pem

您可以在以下链接的亚马逊AWS论坛中找到更多详细信息。

平台凭据无效

最新更新