iOS 框架接收 Apple 推送通知

Posted

技术标签:

【中文标题】iOS 框架接收 Apple 推送通知【英文标题】:iOS Framework receive Apple Push Notifications 【发布时间】:2013-04-12 00:34:31 【问题描述】:

我有一个定制的 ios 框架,我希望将其分发给其他开发人员。问题是我希望我的服务器将 Apple 推送通知 (APNS) 传送到他们的应用程序,但是我们都无法控制其他人的 Apple Portal。

我正在确定这是否可能,但需要一些帮助来进行头脑风暴。

我的想法:

将我的 CSR 提交给开发人员 让开发人员通过 Apple Portal 生成苹果证书并返回/上传到我的服务 使用他们的 .cert 和我的 .p12 创建 PEM 像往常一样使用 PEM 来传递推送通知(我的框架将使用适当的 UIAppDelegate 方法进行注册)

这样做安全吗?我是否通过免费提供 CSR 来传递任何绝密信息? (如果有必要阻止一些窥探,我可以把它放在付费墙后面。)

【问题讨论】:

【参考方案1】:

您为什么要将您的 CSR 交付给应用开发者?

应用程序开发人员应为其应用程序创建一个推送证书,并向您发送 p12/PEM 文件及其密码。这就是您的服务器为他们的应用发送推送通知所需的全部内容。

如果您滥用他们的证书(例如,通过发送他们的应用垃圾邮件通知),他们可以撤销证书以阻止您的服务器发送更多通知。

由于苹果最近更改了他们的证书创建门户,现在可以为同一个应用程序创建多个证书。这意味着应用程序开发人员可以让多个提供商向他们的应用程序发送通知,并为每个提供商分配不同的推送证书。这将允许撤销一个提供者的证书而不影响其他提供者。

【讨论】:

我一直认为 CSR 来自发送服务器,因此他们需要我的 CSR 来生成他们的 Apple Cert。这不是真的吗? @ScottBonAmi 这不是真的。 CSR 来自创建证书的人(即 iOS 应用程序的开发人员)。我的公司向其他公司的应用程序发送推送通知。为此,我们只需要从他们那里获取 p12 文件和密码。 好吧,我一直以来对 CSR 的看法都是错误的。你帮了大忙,谢谢!【参考方案2】:

Urban Airship 完全按照您所描述的那样做;可以说他们是“中间人”并处理推送通知,因此开发人员不必担心。他们做多个平台,而不仅仅是 iOS。 http://urbanairship.com

所以它是安全的,具体取决于您为服务器实施的安全级别。

【讨论】:

我相信 Urban AirShip 与我的 CSR 是有道理的,因为他们正在提供服务,我不知道将其提供给“随机”个人是否仍然安全。你是说只要他们无法访问我的 P12、PEM 或服务器,这不是问题吗? Urban Airship 无法访问您的服务器,您只需将 P12 上传给他们,他们就会代表您发送推送通知。 我没有投反对票,我只是接受了@Eran 的回答,因为它提供了更多细节和信息。很抱歉有任何混淆。

以上是关于iOS 框架接收 Apple 推送通知的主要内容,如果未能解决你的问题,请参考以下文章

Mac OS 推送通知

在 Apple Watch 上接收来自 iCloud 的推送通知

Firebase推送通知如何在IOS上运行?

即使在应用程序终止后也能获得 Apple 的远程推送通知

静默推送通知。 iOS

parse.com 上的 Apple 推送通知