一种重签名方法及装置制造方法及图纸

技术编号:15640100 阅读:203 留言:0更新日期:2017-06-16 03:46
本发明专利技术旨在解决现有技术中存在的多层次应用程序包的重签名问题,提出了一种重签名方法及装置。该方法包括:对第一设备的应用扩展文件进行第一层重签名;对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名;对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名,其中,第一设备受第二设备控制,该方案有效的解决了现有技术中多层次应用程序包的重签名问题。

【技术实现步骤摘要】
一种重签名方法及装置
本专利技术涉及通信
,尤其涉及一种重签名方法及装置。
技术介绍
随着公司规模的不断壮大,APP(Application,应用程序)业务需求的不断增多,开发人员和测试人员也在不断增多,随之而来的是项目的分支会比较多,在持续集成过程当中,效率较为重要,比如开发人员提测完一个需求后,测试人员需要尽快地获取到测试包,开发人员修改完bug后,测试人员也需要拿到最新的包去验证回馈问题。对于苹果公司的证书来说,能够安装一个证书对应的安装包的设备的个数是有限制的,通常限制100台设备。而对于大型公司较大团队来说,要加入的设备较多,很容易就达到限制数量的上限,因此,一定会有一批设备无法加入到证书中。为了解决这个问题,通常使用企业证书对现有安装包进行重签名的方式将安装包生成Inhouse包对外提供,加入证书的设备就可以不受安装个数限制了。其中,重签名是对现有的程序安装包(例如,iOS为.ipa包)通过更换证书的方式重新生成新的安装包的操作。还有一种情况是当要测试版本覆盖升级时,要用当前版本包生成一个版本号高于当前版本的一个APP包,这种情况也可以通过重签名的方式达到目的。目前,对.ipa包的重签名方案具体可以包括如下处理:获取并安装好新证书(.p12)和新证书对应的描述文件).mobileprovision);解压已有的ipa包,得到Payload目录,以下都在该目录下操作;删除旧的签名文件,即删除整个_CodeSignature目录。通过新描述文件的Entitlements部分生成授权配置文件,即entitlements.plist;用新的描述文件替换mbedded.mobileprovision文件;用codesign命令进行重签名,用到新证书和上面生成的entitlements.plist文件,执行后生成新的签名文件;压缩Payload生成新的.ipa包,即为最终重签名后的目标包。最后把不再需要用的Payload及entitlements.plist进行删除。然而,现有这种签名方式只适用于层次简单的APP。如果APP中有AppleWatch和Extension,则这种签名方式签名后的包不能正常安装,因为在.app目录下,还有watch对应的.app目录,有单独的签名文件,而且在watch.app目录下还有一个Extension.appex目录,也有独立的签名文件。与watch.app并列的还有一个插件PlugIns目录,里面有Extension.appex,也是独立签名。因此,如果有AppleWatch和Extension需要进行对4个签名文件的处理。其中,Extension是对APP的扩展,以独立进程运行,与APP间可以进行交互通信,如WatchExtension、TodayExtension等,其中TodayExtension在iOS8,iOS9下是在通知中心下面Today标签页的内容,iOS10以后在桌面右滑出现的页面。
技术实现思路
本专利技术旨在解决现有技术中存在的多层次的应用程序包的重签名方式问题,提出了一种重签名方法及装置。根据本专利技术的一个方面,提供了一种重签名方法,包括:对第一设备的应用扩展文件进行第一层重签名;对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名;对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名,第一设备受第二设备控制。其中,上述第一设备为智能手表,第二设备为移动终端。进一步的,上述方法还包括:在对第一设备的应用扩展文件进行第一层重签名之前,对应用程序的安装包进行解压,得到可执行文件对应的目录,应用程序的安装包包括:第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件;从目录中查找第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件。进一步的,上述方法还包括:在对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名之后,对目录进行压缩,生成目标应用程序安装包。其中,目标文件包括第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件,则对目标文件进行重签名的方法,包括:根据待进行重签名的目标文件对应的描述文件生成授权文件;删除目标文件对应的原签名文件;用描述文件替换目标文件的原描述文件;使用目标文件证书和授权文件进行签名,生成新的签名文件。根据一种重签名装置,包括:第一重签名模块,用于对第一设备的应用扩展文件进行第一层重签名;第二重签名模块,用于对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名;第三重签名模块,用于对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名,第一设备受第二设备控制。其中,第一设备为智能手表,第二设备为移动终端。进一步的,上述装置还包括:解压模块,用于在对第一设备的应用扩展文件进行第一层重签名之前,对应用程序的安装包进行解压,得到可执行文件对应的目录,应用程序的安装包包括:第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件;查找模块,用于从目录中查找第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件。进一步的,上述装置还包括:生成模块,用于在对第一设备的应用扩展文件、第一设备的应用文件以及第二设备的应用扩展文件进行第三层重签名之后,对目录进行压缩,生成目标应用程序安装包。其中,目标文件包括第一设备的应用扩展、第一设备的应用以及第二设备的应用扩展,第三重签名模块,包括:生成单元,用于根据待进行重签名的目标文件对应的描述文件生成授权文件;删除单元,用于删除目标文件对应的原签名文件;替换单元,用于用描述文件替换目标文件的原描述文件;签名单元,用于使用目标文件证书和授权文件进行签名,生成新的签名文件。目前技术中,在代码没有改动的情况下,如果要生成若干个包,如果是用编译器一个个去生成包,则效率太低,本专利技术实施例提供的方法先生成一个包,再对现有包通过重签名的方式生成若干个与原包功能代码完全一样的包,总体上节省了时间,提高了生成包的效率,同时,解决了含有AppleWatch和Extension复杂APP的.ipa包通过重签名生成新包的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术第一实施例提供的重签名方法的流程图;图2是本专利技术第二实施例中涉及提供的重签名方法的流程图;图3是本专利技术第二实施例中涉及到重签名装置的结构框图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。第一实施例本实施例提供了一种重签名方法,用以解决现有技术中存在的对多层次的应用程序进行重签名的问题,图1是该方法的流程图,本文档来自技高网
...
一种重签名方法及装置

【技术保护点】
一种重签名方法,其特征在于,包括:对第一设备的应用扩展文件进行第一层重签名;对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名;对所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件进行第三层重签名,所述第一设备受所述第二设备控制。

【技术特征摘要】
1.一种重签名方法,其特征在于,包括:对第一设备的应用扩展文件进行第一层重签名;对第一设备的应用文件以及第二设备的应用扩展文件进行第二层重签名;对所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件进行第三层重签名,所述第一设备受所述第二设备控制。2.根据权利要求1所述的方法,其特征在于,所述第一设备为智能手表,所述第二设备为移动终端。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在对第一设备的应用扩展文件进行第一层重签名之前,对应用程序的安装包进行解压,得到可执行文件对应的目录,所述应用程序的安装包包括:所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件;从所述目录中查找所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在对所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件进行第三层重签名之后,对所述目录进行压缩,生成目标应用程序安装包。5.根据权利要求1至4任意一项所述的方法,其特征在于,目标文件包括所述第一设备的应用扩展文件、所述第一设备的应用文件以及所述第二设备的应用扩展文件,则对所述目标文件进行重签名的方法,包括:根据待进行重签名的目标文件对应的描述文件生成授权文件;删除所述目标文件对应的原签名文件;用所述描述文件替换所述目标文件的原描述文件;使用所述目标文件证书和所述授权文件进行签名,生成新的签名文件。6.一种重签名装置,其特征在于,包括:第一重签名模块,用于对第一设...

【专利技术属性】
技术研发人员:曾庆隆
申请(专利权)人:北京五八信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1