应用程序重新签名的方法、装置和系统的制作方法

文档序号:9810895阅读:484来源:国知局
应用程序重新签名的方法、装置和系统的制作方法
【技术领域】
[0001]本发明涉及数字签名技术领域,尤其涉及一种应用程序重新签名的方法、装置和系统。
【背景技术】
[0002]应用程序若想安装在某些设备上,必须经过设备公司的签名认证,否则无法完成安装。在一种具体的应用场景当中,应用程序开发商开发的应用程序一般使用开发商的开发者证书进行签名的,仅能安装在开发商证书授权的设备上,未经过开发商授权的设备无法安装。因此,游戏运营商如果想要将所述应用程序安装到未经开发商证书授权的设备上,需要使用游戏运营商自有的个人或企业开发者账号对应用程序进行重新签名。
[0003]现有的对应用程序进行重新签名的方法主要有以下两种:一、使用命令行手动进行重新签名;根据重新签名所需要的步骤,在特定系统的电脑上手动地输入命令行,对应用程序进行重新签名。二、使用重签工具进行重新签名;通过在特定系统的电脑中安装重签工具,并利用所述重签工具进行重新签名。

【发明内容】

[0004]使用命令行手动进行重新签名较为繁琐,稍有问题就会导致重签失败,并且校验应用程序是否重新签名成功需要较长时间,重签效率较低。而使用重签工具进行重签时,可定制性比较差,如果需要修改版本号等功能时则需要另外的工具。另外随着设备系统的升级,之前的重签工具可能就无法使用了,重新寻找合适可用的重签工具往往非常麻烦。此夕卜,上述两种方法对重新签名所需的环境要求比较严格,必须依赖于特定系统的电脑,在使用其他系统的电脑设备的情况下无法实现重新签名。
[0005]本发明实施例的目的在于提供了一种应用程序重新签名的方法、装置和系统,降低对应用程序进行重新签名的环境依赖,提高应用程序重签的便利性。
[0006]为了实现上述目的,本发明实施例提供了第一种应用程序重新签名的方法,包括:
[0007]接收主服务器分发的对应用程序安装包进行重新签名的任务,并从所述主服务器中下载所述应用程序安装包;
[0008]对所述应用程序安装包进行解压,获取解压文件;
[0009]删除所述解压文件中原有的签名信息;
[0010]将预备配置文件导入所述解压文件中;
[0011 ]修改所述解压文件中的bundle信息;
[0012]根据所述预备配置文件、修改后的bundle信息和预先配置的授权证书,在所述解压文件中生成新的签名信息;
[0013]将生成新的签名信息后的所述解压文件重新打包成应用程序安装包,并上传到所述主服务器中。
[0014]优选地,在所述接收主服务器分发的对应用程序安装包进行重新签名的任务,并从所述主服务器中下载所述应用程序安装包之前,还包括:
[0015]获取所述授权证书,并将所述授权证书导入到本地。
[0016]优选地,所述根据所述预备配置文件、修改后的bundle信息和预先配置的授权证书,在所述解压文件中生成新的签名信息,具体为:
[0017]调用重签工具中的重签命令,根据所述预备配置文件、修改后的bundle信息和预先配置的授权证书,在所述解压文件中生成新的签名信息。
[0018]优选地,在所述根据所述预备配置文件、修改后的bundle信息和预先配置的授权证书,在所述解压文件中生成新的签名信息之前,还包括:
[0019]执行扩展任务;所述扩展任务包括检测应用程序的指令集类型和修改所述应用程序的版本号中的至少一种。
[0020]优选地,所述检测应用程序的指令集类型,具体为:
[0021 ]从所述解压文件中获取程序文件;
[0022]通过系统的Iip0命令对所述程序文件进行查看,获取所述程序文件的指令集信息;
[0023]对所述指令集信息进行分析,获取指令集的类型;
[0024]将所述指令集的类型反馈给所述主服务器。
[0025]进一步地,本发明实施例提供了第二种应用程序重新签名的方法,包括:
[0026]接收客户端发送的可用于重新签名的应用程序安装包以及对所述应用程序安装包进行重新签名的请求;
[0027]将与所述请求对应的重签任务分发给空闲的重签服务器,触发所述重签服务器通过所述第一种应用程序重新签名的方法对所述应用程序安装包进行重新签名;
[0028]将重新签名后的应用程序安装包保存到相应的网络存储位置中。
[0029]优选地,在所述将重新签名后的应用程序安装包保存到相应的网络存储位置中之后,还包括:
[0030]根据所述网络存储位置,生成用于下载安装所述应用程序安装包的二维码。
[0031]优选地,所述根据所述网络存储位置,生成用于下载安装所述应用程序安装包的二维码,具体为:
[0032]根据所述网络存储位置和bundle信息生成所述应用程序安装包的plist文件;
[0033]将所述plist文件上传到https服务器中,并获取所述plist文件在所述https服务器中的地址;
[0034]根据所述plist文件的地址,生成所述应用程序安装包的下载安装页面;
[0035]通过二维码生成插件将所述下载安装页面转换为二维码。
[0036]优选地,在所述接收客户端发送的可用于重新签名的应用程序安装包以及对所述应用程序安装包进行重新签名的请求之后,还包括:
[0037]根据预先设定的或者所述请求中的配置信息,将预备配置文件和授权证书配置到所述重签服务器中。
[0038]优选地,所述将对所述应用程序安装包进行重新签名的任务分发给空闲的重签服务器,触发所述重签服务器通过如权利要求1到5任一项所述的应用程序重新签名的方法对所述应用程序安装包进行重新签名,具体为:
[0039]获取所述应用程序安装包的MD5值、预备配置文件的名称和预备配置文件的版本号;
[0040]判断所述MD5值、所述预备配置文件的名称和所述预备配置文件的版本号与缓存数据库中已重新签名的应用程序安装包的相应信息是否一致;
[0041]若一致,则将所述缓存数据库中的已重新签名的所述应用程序安装包作为本次重签任务的结果;
[0042]若不一致,则将对所述应用程序安装包进行重新签名的任务分发给空闲的重签服务器,触发所述重签服务器通过如权利要求1到5任一项所述的应用程序重新签名的方法对所述应用程序安装包进行重新签名。
[0043]相应地,本发明实施例提供了一种应用程序重新签名的装置,包括:
[0044]任务接收模块,用于接收主服务器分发的对应用程序安装包进行重新签名的任务,并从所述主服务器中下载所述应用程序安装包;
[0045]解压模块,用于对所述应用程序安装包进行解压,获取解压文件;
[0046]删除模块,用于删除所述解压文件中原有的签名信息;
[0047]导入模块,用于将预备配置文件导入所述解压文件中;
[0048]修改模块,用于修改所述解压文件中的bundle信息;
[0049]签名模块,用于根据所述预备配置文件、修改后的bundle信息和预先配置的授权证书,在所述解压文件中生成新的签名信息;
[0050]打包模块,用于将生成新的签名信息后的所述解压文件重新打包成应用程序安装包,并上传到所述主服务器中。
[0051 ] 优选地,所述装置还包括:
[0052]证书导入模块,用于获取所述授权证书,并将所述授权证书导入到本地。
[0053]优选地,所述签名模块包括:
[0054]调用单元,用于调用重签工具中的重签命令,根据所述预备配置文件、修改后的bundle信息和预先配置的授权证书,在所述解压文件中生成新的签名信息。
[0055]优选地,所述装置还包括:
[0056]扩展模块,用于执行扩展任务;所述扩展任务包括检测应用程序的指令集类型和修改所述应用程序的版本号中的至少一种。
[0057]优选地,所述扩展任务为检测应用程序的指令集类型;所述扩展模块包括:
[0058]获取单元,用于从所述解压文件中获取程序文件;
[0059]查看单元,用于通过系统的Iip0命令对所述程序文件进行查看,获取所述程序文件的指令集信息;
[0060]分析单元,用于对所述指令集信息进行分析,获取指令集的类型;
[0061 ]反馈单元,用于将所述指令集的类型反馈给所述主服务器。
[0062]相应地,本发明实施例提供了第二种应用程序重新签名的装置,包括:
[0063]接收模块,用于接收客户端发送的可用于重新签名的应用程序安装包以及对所述应用程序安装包进行重新签名的请求;
[0064]分发模块,用于将与所述请求对应的重签任务分发给空闲的重签服务器,触发所述重签服务器通过如权利要求1到5任一项所述的应用程序重新签名的方法对所述应用程序安装包进行重新签名;
[0065]存储模块,用于将重新签名后的应用程序安装包保存到相应的网络存储位置中。
[0066]优选地,所述装置还包括:
[0067]二维码生成模块,用于根据所述网络存储位置,生成用于下载安装所述应用程序安装包的二维码。
[0068]优选地,所述二维码生成模块包括:
[0069]plist文件生成单元,用于根据所述网络存储位置和bundle信息生成所述应用程序安装包的plist文件;
[ΟΟΤ?] plist文件上传单元,用于将所述plist文件上传到https服务器中,并获取所述plist文件在所述https服
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1