WEB开发网
开发学院手机开发iPhone 开发 iPhone的Push(推送通知)功能原理浅析 阅读

iPhone的Push(推送通知)功能原理浅析

 2010-06-19 18:53:00 来源:WEB开发网   
核心提示:要修补这个问题,唯一的办法就是重新生成唯一且有效的设备证书(device certificate)和密钥(key),iPhone的Push(推送通知)功能原理浅析(3),但是要知道,证书是需要机构签发的,——考虑到一些情况,我决定把对Pushfix_D的判断用英文发出来,自己一个人随便弄的一个证书,只会被APNS 认为

要修补这个问题,唯一的办法就是重新生成唯一且有效的设备证书(device certificate)和密钥(key)。

但是要知道,证书是需要机构签发的,自己一个人随便弄的一个证书,只会被APNS 认为是无效证书。(SSL证书一个多少钱大家可以去查查)

并且对应的文件似乎还和iPhone本机的一些内容相关,不是直接制作好的文件放进去就 可以的。

于是,最早,dev team推出了一个测试版补丁,Push fix by dev team(通过他们的twitter发布的,因此官网没有消息)。这个补丁初期很有效。但是仅在iPhone 2G上比较正常。

之后某人士发布 pushfix 1.0了。由于使用了不同的生成方法,因此在新版本iPhone上也正常工作了。于是风靡一时。

然而,以上两个 补丁都有严重的隐患——他们使用了一个固定的证书作为设备证书(device certificate)。因此在不同iPhone上的区别仅仅在于生成的密钥(key)不同。(待确认)

上面提到 过,APNS依靠每台iPhone独一无二的设备证书(device certificate)和密钥(key)来生成独一无二的设备令牌(device token),用来标识每台iPhone。

但当多个iPhone的设备证书(device certificate)完全一致时,就存在一定几率使得多个iPhone获得相同的设备令牌(device token)

而 随着这两个补丁的使用人数不断增加,使得出现获得相同设备令牌(device token)的iPhone数量大大增加了。

当 这些相同设备令牌(device token)的iPhone上启用了同一个应用程序的Push的时候,就极有可能出现彼此间的Push串发的现象。——如某论坛目前N多人抱怨QQ的 Push到别人iPhone上的情况就是如此。

之后,Pushfix的作者,声称自己可以为每台iPhone手 工制作唯一的设备证书(device certificate)和密钥(key),并且开始提供了付费服务,并且最终推出了付费的 Pushfix 2.0——其通过cydia安装的原理是,在安装的时候在线连接到pushfix站点检查对应iPhone的imei确定是否付费再自动下载对应的证书。

虽 然不知道他是怎么制作这些证书的。但是经过晓晓的验证,他制作的证书确实是有效的。Push问题确实修复了。

在这之后,某论坛上出现了一个叫做 Pushfix_D的补丁,声称无需付费也能直接修复问题。然而,

——考虑到一些情况,我决定把对Pushfix_D的判断用英文发出来。当然, 制作者肯定很清楚下面写的东西:)

上一页  1 2 3 4 5  下一页

Tags:iPhone Push 推送

编辑录入:coldstar [复制链接] [打 印]
赞助商链接