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

时间:2014-10-03 18:42:57

标签: ios apple-push-notifications

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

1 个答案:

答案 0 :(得分:1)

如果您进入开发人员门户并尝试创建新的Apple推送通知服务SSL证书,您将看到需要根据应用程序ID 而不是捆绑ID选择单个目标应用程序。

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

如果情况并非如此,那么在iOS7之前,当所有应用程序都获得相同的设备令牌时,您可以想象以下攻击:

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