【问题标题】:Apple Developer Account generates invalid push certificatesApple Developer Account 生成无效的推送证书
【发布时间】:2016-06-08 17:52:30
【问题描述】:

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

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

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

Invalid parameter: Attributes Reason: Platform credentials are invalid

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

发生了什么事?

【问题讨论】:

    标签: ios provisioning-profile aws-mobilehub


    【解决方案1】:

    原因是在 Mac 中,一个 keychain key 可以访问多个 Apple 证书。

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

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

    无效参数:属性原因:平台凭据无效 (服务: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 论坛中找到更多详细信息。

    Platform credentials are invalid

    【讨论】:

    • 感谢您的回复。我读了你提到的文档。我没有遵循它们,因为 AWS Mobile Hub 与直接 AWS 的程序不同。我担心混合移动集线器和非移动集线器程序会导致问题。我会试试你的建议。
    猜你喜欢
    • 2017-03-17
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 2013-03-17
    • 2015-02-28
    • 2019-03-11
    • 2014-05-08
    相关资源
    最近更新 更多