使用来自不同开发帐户的不同证书签名的应用程序的 iOS 推送通知

标签 ios apple-push-notifications

如果我有两个开发者帐户,并从两个帐户为同一 bundle ID (com.example.app) 生成了 APN SSL 证书,是否可以使用这两个 SSL 证书将推送通知发送到同一应用程序?换句话说,如果账户 B 拥有包含正确捆绑 ID 和设备 token 的 SSL 证书,账户 B 是否可以向使用账户 A 签名的应用发送通知?

最佳答案

如果您进入开发者门户并尝试创建一个新的 Apple 推送通知服务 SSL 证书,您会发现您需要根据App ID而不是 Bundle ID 选择一个目标应用。

App ID 看起来像 bundle ID,但以生成的字母和数字序列开头,例如 52EWJKLRW2342.com.example.app。该前缀对于您的团队和应用是唯一的,因此账户 A 和账户 B 不能同时生成具有相同 App ID 的应用或推送指向相同 App ID 的证书。

如果不是这种情况,在 iOS7 之前,当所有应用程序都获得相同的设备 token 时,您可以想象以下攻击:

  1. 攻击者从热门应用(例如 Candy Crush)的服务器购买/窃取了一堆设备 token 。
  2. 然后,攻击者会为目标应用(例如 com.facebook.facebook)设置捆绑 ID 和推送证书。
  3. 然后,攻击者向该目标应用程序发送大量消息,诽谤它或利用该应用程序的机制使其打开内容(例如,通知会打开一个销售伟哥的临时 Facebook 页面)。

关于使用来自不同开发帐户的不同证书签名的应用程序的 iOS 推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26184851/

相关文章:

ios - 核心情节实时图

ios - 如何使用 UIBezierPath 创建 UIImage

php - 使用 .p8 文件使用 php 代码发送 ios 推送通知

ios - 是否可以通过 Firestore 获取 Apple 推送通知?

ios - CloudKit 通知

ios - Firebase 云消息传递与 iOS 应用程序集成 - Swift 4

xamarin.ios - 在Xamarin中将aps环境从开发自动转换为生产

ios - UITableView:如何禁止将项目拖动到特定行?

ios - 如果没有图像,则缩小 collectionView Cell 的高度

ios - 无法获取非方形图像的字节