生成证书后,我只在钥匙串访问中导出了私钥(没有证书),导出为.p12并使用了该文件,但它不起作用。我只导出了证书并导出为 .p12 并使用了该文件,它也没有工作。
例外是:
您已选择生产服务器,但您的证书似乎不是生产证书!请检查以确保您拥有正确的证书!
如果我将相同的 .p12 与 MoonAPNS 库一起使用,它可以正常工作,但不能与 PUSHHarp 库一起使用。我只在无声通知中使用推送锐利。
生成证书后,我只在钥匙串访问中导出了私钥(没有证书),导出为.p12并使用了该文件,但它不起作用。我只导出了证书并导出为 .p12 并使用了该文件,它也没有工作。
例外是:
您已选择生产服务器,但您的证书似乎不是生产证书!请检查以确保您拥有正确的证书!
如果我将相同的 .p12 与 MoonAPNS 库一起使用,它可以正常工作,但不能与 PUSHHarp 库一起使用。我只在无声通知中使用推送锐利。
Apple 引入了一个新的统一推送通知证书,该证书对沙盒和生产服务器都有效。这个新证书的主题名称有点不同(它曾经包含Apple Production IOS Push Services 或Apple Development IOS Push Services,现在它包含Apple Push Services)。
PushSharp 2.x 不知道这种新格式,并且仍然希望旧的主题名称进行验证,因此它认为您的证书无效。
推荐使用 PushSharp 3.x(目前在 NuGet 上提供预发行版),并且可以正确验证新型证书。我建议更新到 3.x 版本(当然,其中涉及一些破坏性的 API 更改)。
如果您仍然坚持使用 PushSharp 2.x,您可以通过在类构造函数中设置disableCertificateCheck
参数来覆盖证书验证。true
ApplePushChannelSettings