0

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

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

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

Invalid parameter: Attributes Reason: Platform credentials are invalid

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

到底是怎么回事?

4

1 回答 1

0

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

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

您需要打开 pem 格式的 keychain(.p12),发现AWS SNS 控制台不小心自动加载了 keychain key(.p12) 中的应用程序开发证书,这将导致以下错误。

无效参数:属性原因:平台凭证无效(服务:AmazonSNS;状态代码:400;错误代码:InvalidParameter;请求 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

您将在以下链接的 Amazon AWS 论坛中找到更多详细信息。

平台凭据无效

于 2016-02-25T19:10:47.303 回答