我正在尝试为APNS配置AWS Mobile Hub。我有两个与我认为相关的问题。
在Apple Developers Portal中,我有2个适用于应用程序,iOS开发和iOS发布的有效供应配置文件(所有证书将来都有到期日期)。当我生成并下载开发推送证书,然后回顾供应配置文件时,两个配置文件都被标记为无效。我可以编辑配置文件并再次使它们有效,但是当我撤销开发推送证书并创建另一个时,它们会失效(我重新创建推送证书,因为我不确定它是否有效)。
当我尝试通过上传开发推送证书(如上所述)向我的AWS Mobile Hub项目添加推送通知时,我收到错误消息:
Invalid parameter: Attributes Reason: Platform credentials are invalid
我已经多次重复这个过程,并且总会发生同样的事情。如果我撤销并重新创建无效的Provisioning Profiles,我会得到相同的事件序列。我不知道为什么生成推送证书会使配置文件无效。由于Push Certificates成功上传,我认为它们的格式是正确的。我不知道证书中的哪个参数可能是错误的来源。
发生了什么事?
答案 0 :(得分:0)
原因是在Mac中,一个钥匙串密钥可以访问多个Apple证书。
应用开发证书和应用APNS证书共享相同的钥匙串密钥(.p12)。 但是,相同的钥匙串密钥(.p12)仅包含应用程序开发证书的信息。
您需要以pem格式打开钥匙串(.p12),并在钥匙串密钥(.p12)中找到 AWS SNS控制台意外自动加载应用程序开发证书,这将导致以下错误。
参数无效:属性原因:平台凭据无效 (服务: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论坛中找到更多详细信息。