Apple Developer Account 生成无效的推送证书

Apple Developer Account generates invalid push certificates

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

在 Apple Developers Portal 中,我有 2 个有效的应用程序配置文件,iOS 开发和 iOS 分发(所有证书都有未来的到期日期)。当我生成并下载开发推送证书,然后回头查看供应配置文件时,两个配置文件都标记为无效。我可以编辑配置文件并使它们再次有效,但是当我撤销开发推送证书并创建另一个时它们会失效(我重新创建推送证书因为我不确定它是否有效)。

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

Invalid parameter: Attributes Reason: Platform credentials are invalid

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

这是怎么回事?

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

应用开发证书和应用 APNS 证书共享相同的钥匙串密钥(.p12)。 但是,同一个keychain key(.p12)只包含app development cert的信息。

您需要以 pem 格式打开 keychain(.p12),发现 AWS SNS 控制台不小心自动加载了 keychain key(.p12) 中的 app-development 证书。 p12) 会导致如下错误。

Invalid parameter: Attributes Reason: Platform credentials are invalid (Service: AmazonSNS; Status Code: 400; Error Code: InvalidParameter; Request ID: ...........)

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

openssl pkcs12 -in myapnsappprivatekey.p12 -out myapnsappprivatekey.pem -nodes -clcerts openssl s_client -connect gateway.sandbox.push.apple.com:2195 -cert myapnsappcert.pem -key myapnsappprivatekey.pem

您可以在下方 link.

的亚马逊 AWS 论坛中找到更多详细信息

Platform credentials are invalid