一种第三方APK签名方法、电子设备及存储介质与流程

文档序号:14249823阅读:259来源:国知局
一种第三方APK签名方法、电子设备及存储介质与流程

本发明实施例涉及apk(androidpackage,安卓安装包)签名认证技术领域,尤其涉及一种第三方apk签名方法、电子设备及存储介质。



背景技术:

android是google公司开发的基于linux架构的开源手机操作系统。其上的应用程序为apk格式,apk实质上是一个zip压缩文件,是应用的程序安装包。为了保证每个应用程序开发商的合法性,防止部分开发商通过使用相同的apk包名来混淆替换已经安装的程序,在每个应用程序开发完成后或者进行更新后需通过apk签名才能被运行使用。由于对应用程序进行签名关系到系统的权限属性,因此需要对签名时用到的密钥key进行保密。

在应用程序运营方与第三方(应用程序开发商,后续称为原开发商)合作的过程中,由于运营方不能直接将key提供给原开发商,因此,每次当原开发商对应用程序进行了更新有签名需求时,采用的签名流程为:第三合作方开发人员向应用程序运营方的管理人员发出签名请求,应用程序运营方的管理人员找到对应的key对应用程序apk文件进行手动签名后,再将应用程序apk文件返回给第三合作方人员。具体可参见图1所示的现有的第三方apk签名流程示意图,可见,每次签名都需要第三合作方和应用程序运营方管理人员参与,流程繁琐,若应用程序更新频繁将会浪费大量的人力和时间。



技术实现要素:

为解决相关技术问题,本发明提供一种第三方apk签名方法、电子设备及存储介质,通过该方法可方便实现对第三合作方应用程序进行apk签名。

为实现上述目的,本发明实施例采用如下技术方案:

第一方面,本发明实施例提供了一种第三方apk签名方法,所述方法包括:

接收打开签名链接的请求信息,其中,所述签名链接包括应用的安装包apk文件对应的签名信息;

根据所述请求信息显示对应的apk签名页面;

接收通过所述apk签名页面上传的待签名apk文件包;

基于所述待签名apk文件包进行签名信息匹配,若匹配成功,则利用匹配成功的签名信息对所述待签名apk文件包进行签名。

进一步的,所述接收打开签名链接的请求信息之前,还包括;

将特定应用的apk文件包对应的签名信息映射为唯一的签名链接;

将所述签名链接发送给第三合作方,所述签名链接用于指示第三合作方进行apk签名。

进一步的,所述将特定应用的apk文件包对应的签名信息映射为唯一的签名链接,包括:

随机生成特定链接;

对所述特定链接进行重复性检测,若不存在与所述特定链接相同的签名链接,则将所述特定应用的apk文件包对应的签名信息与所述特定链接进行关联,将关联后的特定链接确定为所述特定应用的签名链接。

进一步的,所述将特定应用的apk文件包对应的签名信息映射为唯一的签名链接,包括:

将所述特定应用的apk文件包对应的签名信息随机与特定链接进行关联;

对所述特定链接进行重复性检测,若不存在与所述特定链接相同的签名链接,则将所述特定链接确定为签名链接。

进一步的,所述根据所述请求信息显示对应的apk签名页面,包括:

根据所述请求信息提取链接地址;

根据所述链接地址在页面库中匹配对应的apk签名页面;

将匹配成功的apk签名页面进行显示。

进一步的,所述签名信息包括:apk文件包名、签名密钥key和有效期。

进一步的,基于所述待签名apk文件包进行签名信息匹配,若匹配成功,则利用匹配成功的签名信息对所述待签名apk文件包进行签名,包括:

识别所述待签名apk文件包名;

根据所述待签名apk文件包名确定对应的签名密钥key和有效期;

若所述待签名apk文件包在有效期内,则确定匹配成功,利用所述签名密钥key对所述待签名apk文件包进行签名。

进一步的,利用匹配成功的签名信息对所述待签名apk文件包进行签名之后,还包括:

将完成签名的apk文件包发送给第三合作方。

第二方面,本发明实施例提供了一种电子设备,包括第一存储器、第一处理器及存储在存储器上并可在第一处理器上运行的计算机程序,所述第一处理器执行所述计算机程序时实现如上述第一方面所述的第三方apk签名方法。

第三方面,本发明实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时实现如上述第一方面所述的第三方apk签名方法。

本发明实施例提供的第三方apk签名方法,将签名信息映射为签名链接的形式,有签名需求的第三合作方可通过该签名链接进行自主签名,简化了签名流程,该方法具体通过当接收到打开签名链接的请求信息时,根据所述请求信息显示对应的apk签名页面,第三合作方法通过所述apk签名页面上传待签名的apk文件包,当接收到通过所述apk签名页面上传的待签名apk文件包时,基于所述待签名apk文件包进行签名信息匹配,若匹配成功,则利用匹配成功的签名信息对所述待签名apk文件包进行签名的技术手段,实现了第三合作方自主对应用进行apk签名,不需应用运营方的人员参与,简化了签名流程,节省了大量的人力和时间成本。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本发明实施例的内容和这些附图获得其他的附图。

图1为现有的第三方apk签名流程示意图;

图2为本发明实施例一提供的一种第三方apk签名方法流程示意图;

图3为本发明实施例二提供的一种第三方apk签名方法流程示意图;

图4为本发明实施例二提供的一种第三方apk签名实现过程示意图;

图5为本发明实施例三提供的一种第三方apk签名方法流程示意图;

图6为本发明实施例四提供的一种电子设备的结构示意图。

具体实施方式

为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图2为本发明实施例一提供的一种第三方apk签名方法流程示意图。本实施例的第三方apk签名方法可以由第三方apk签名装置来执行,其中该装置可由软件和/或硬件实现,一般可集成在电子设备中,例如服务器等。该第三方apk签名方法可用于没有签名密钥key的合作方自主对应用的apk文件进行签名,而无需再向应用的运营方人员请求签名,由运营方人员手动签名后返回签名后的apk文件。本发明实施例提供的第三方apk签名方法实现了第三合作方自主进行apk签名,节省了大量的人力和时间成本。具体参见图2所示,该方法可以包括如下步骤:

210、接收打开签名链接的请求信息,其中,所述签名链接包括应用的安装包apk文件对应的签名信息。

其中,所述打开签名链接的请求信息具体可以是对签名链接的点击操作所触发的信息。

本实施例第三方apk签名方法的应用场景可以是没有签名密钥key的第三方需要对apk文件进行签名的情况。典型的,例如1号公司作为应用a的运营方,与应用a的原开发商2号公司合作,此时2号公司即可视为第三合作方。应用a运行在1号公司的产品(例如电视机顶盒)上,为了获得较高的系统权限,需要1号公司内部的管理人员对应用a进行apk签名。但是2号公司每次对应用a进行升级或者更新之后均需要1号公司内部管理人员对应用a的apk文件进行签名,否则将无法使用升级或者更新后的应用a。此时,第三合作方(2号公司)可以通过点击应用a对应的签名链接,在不需要知道签名密钥key的背景下自主对应用a的apk文件进行签名,所述签名链接包括应用a的apk文件对应的签名信息,每个应用的签名信息对应唯一的签名链接。由于对应用进行apk签名关系到系统的权限属性,因此需要对签名密钥key进行保密,不能直接提供给第三合作方。

进一步的,接收打开签名链接的请求信息之前,所述方法还可以包括;

将特定应用的apk文件包对应的签名信息映射为唯一的签名链接;

将所述签名链接发送给第三合作方,所述签名链接用于指示第三合作方进行apk签名。

与第三合作方就哪些应用有合作,只需把合作的应用对应的签名信息映射为唯一的签名链接,然后将签名链接发给第三合作方,每当第三合作方有签名需求时,仅需打开对应的签名链接,自主完成签名即可,无需再向应用的运营方发出签名申请,作为应用的运营方管理人员只需管理对应的链接即可,简化了繁琐的签名流程,且不会造成签名密钥key的泄露,节省了大量的人力和时间成本。

220、根据所述请求信息显示对应的apk签名页面。

示例性地,所述根据所述请求信息显示对应的apk签名页面,包括:

根据所述请求信息提取链接地址;

根据所述链接地址在页面库中匹配对应的apk签名页面;

将匹配成功的apk签名页面进行显示。

所述对应的apk签名页面具体可以是web网页,且web网页页面可采用shiro安全框架,并结合spring+springmvc+mybatis+shiro技术,使得apk签名过程以及对签名密钥key的管理均可在web页面上进行,签名过程更加简单化,且能够起到很好的信息保护功能,防止key泄露。

230、接收通过所述apk签名页面上传的待签名apk文件包。

所述apk签名页面可设置有上传待签名apk文件包菜单按钮,第三合作方可通过该上传菜单按钮将待签名apk文件包上传,系统(可以是服务器)收到上传的待签名apk文件包后,基于所述待签名apk文件包进行签名信息匹配,若匹配成功,则利用匹配成功的签名信息对所述待签名apk文件包进行签名。

240、基于所述待签名apk文件包进行签名信息匹配,若匹配成功,则利用匹配成功的签名信息对所述待签名apk文件包进行签名。

其中,基于所述待签名apk文件包进行签名信息匹配,具体可以为基于该待签名apk文件包提取apk文件包名,并根据apk文件包名查找相同包名的apk文件对应的签名密钥key以及有效期等,若待签名apk文件包在有效期内,则利用所述对应的签名密钥key对所述待签名的apk文件包进行签名。

进一步地,利用匹配成功的签名信息对所述待签名apk文件包进行签名之后,还包括:

将完成签名的apk文件包发送给第三合作方,实现了第三方apk自主签名,不再需要运营方的参与,简化了签名流程。

本实施例提供的第三方apk签名方法,通过将特定应用的apk文件包对应的签名信息映射为唯一的签名链接的形式,并将所述签名链接发送给第三合作方,当第三合作方对所述特定应用有签名需求时,只需打开特定应用对应的签名链接,当系统接收到打开签名链接的请求信息时,根据所述请求信息显示对应的apk签名页面,第三合作方法通过所述apk签名页面上传待签名的apk文件包,当系统接收到待签名apk文件包时,基于所述待签名apk文件包进行签名信息匹配,若匹配成功,则利用匹配成功的签名信息对所述待签名apk文件包进行签名,实现了第三合作方自主对应用进行apk签名,不需应用运营方的人员参与,简化了签名流程,节省了大量的人力和时间成本。

实施例二

图3为本发明实施例二提供的一种第三方apk签名方法流程示意图。在上述实施例的基础上,本实施例对操作“将特定应用的apk文件包对应的签名信息映射为唯一的签名链接”进行了进一步优化,优化的好处是可以确保每个应用的签名信息对应唯一的签名链接。具体参见图3所示,所述方法具体包括如下步骤:

310、将所述特定应用的apk文件包对应的签名信息随机与特定链接进行关联。

其中,所述特定链接可以是随机生成的链接,例如链接“http//www.123.345a/”,所述特定应用可以是任何一个具体的应用,例如上述实施例举例中的应用a,通过将应用a对应的签名信息与上述特定链接进行关联,则上述链接可直接链接到应用a的签名信息。

320、对所述特定链接进行重复性检测,若不存在与所述特定链接相同的签名链接,则将所述特定链接确定为签名链接。

其中,对所述特定链接进行重复性检测的目的是确保每个链接都是唯一的,即确保每个签名链接都是唯一对应的一个特定应用的,

330、将所述签名链接发送给第三合作方,所述签名链接用于指示第三合作方进行apk签名。

通过将签名链接发送给第三合作方,当第三合作方在任何时间有签名需求时,只需通过该签名链接进行自主签名即可,当上述签名链接被打开时,服务器通过提取具体的链接地址,并根据所述链接地址在页面库中匹配对应的apk签名页面,并将对应的apk签名页面进行显示,第三合作方可根据页面提示上传待签名apk文件,系统收到待签名apk文件后基于匹配的签名信息对待签名apk文件进行签名,并将签名后的apk文件返回给第三合作方,实现apk自主签名,简化了签名流程。具体可以参见图4所示的第三方apk签名实现过程示意图,应用的运营方管理人员通过将对应的签名信息(例如签名密钥key和有效期等)上传给apk签名系统(具体可以是服务器),apk签名系统根据签名信息生成唯一的签名链接即signlink,并将signlink发送给运营方管理人员,运营方管理人员进一步将该signlink发送给第三方即第三合作方,当第三方有签名需求时,通过点击signlink即打开签名链接,apk签名系统收到打开信息后,进一步返回对应的签名页面,第三方根据签名页面的提示将待签名apk文件上传给apk签名系统,apk签名系统根据匹配的签名信息对待签名apk文件签名,并将签名后的apk文件即apk’返回给第三方,完成整个签名流程。通过该签名方法,应用的运营方管理人员只需对签名链接进行管理,第三方在任何时间有签名需求时,可通过对应的签名链接进行自主签名,签名流程简单,节省了大量的人力和时间成本,且apk签名系统通过采用spring+springmvc+mybatis+shiro技术,使得apk签名过程以及对签名密钥key的管理均可在web页面上进行,签名过程更加简单化,且能够起到很好的信息保护功能,防止key泄露。

340、接收打开签名链接的请求信息。

350、根据所述请求信息显示对应的apk签名页面。

360、接收通过所述apk签名页面上传的待签名apk文件包。

370、基于所述待签名apk文件包进行签名信息匹配,若匹配成功,则利用匹配成功的签名信息对所述待签名apk文件包进行签名。

进一步地,利用匹配成功的签名信息对所述待签名apk文件包进行签名之后,还包括:

将完成签名的apk文件包发送给第三合作方,实现了第三方apk自主签名。

本实施例提供的第三方apk签名方法,在上述实施例的基础上,通过将特定应用的apk文件包对应的签名信息随机与特定链接进行关联,并对所述特定链接进行重复性检测,若不存在与所述特定链接相同的签名链接,则将所述特定链接确定为签名链接的技术手段,实现了将每个应用的签名信息映射为唯一的签名链接,第三合作方通过该唯一的签名链接可实现自主对apk文件进行签名,简化了签名流程。

进一步地,在上述技术方案的基础上,“将特定应用的apk文件包对应的签名信息映射为唯一的签名链接”的操作还可以通过如下技术方案实现:

随机生成特定链接;

对所述特定链接进行重复性检测,若不存在与所述特定链接相同的签名链接,则将所述特定应用的apk文件包对应的签名信息与所述特定链接进行关联,将所述特定链接确定为所述特定应用的签名链接。

实施例三

图5为本发明实施例三提供的一种第三方apk签名方法流程示意图,在上述实施例的基础上,本实施例对操作“基于所述待签名apk文件包进行签名信息匹配,若匹配成功,则利用匹配成功的签名信息对所述待签名apk文件包进行签名”进行了优化,优化的好处是实现对apk文件的准确签名。具体参见图5所示,该方法具体包括如下步骤:

510、将特定应用的apk文件包对应的签名信息映射为唯一的签名链接。

可选的,所述签名信息包括:apk文件包名、签名密钥key和有效期。

520、将所述签名链接发送给第三合作方,所述签名链接用于指示第三合作方进行apk签名。

530、接收打开签名链接的请求信息,其中,所述签名链接包括应用的安装包apk文件对应的签名信息。

540、根据所述请求信息显示对应的apk签名页面。

550、接收通过所述apk签名页面上传的待签名apk文件包。

560、识别所述待签名apk文件包名,并根据所述待签名apk文件包名确定对应的签名密钥key和有效期。

570、若所述待签名apk文件包在有效期内,则确定匹配成功,利用所述签名密钥key对所述待签名apk文件包进行签名。

进一步地,利用所述签名密钥key对所述待签名apk文件包进行签名之后,还包括:

将完成签名的apk文件包发送给第三合作方,实现了第三方apk自主签名

在上述实施例的基础上,本实施例给出了基于所述待签名apk文件包进行签名信息匹配的过程,实现了apk文件的准确签名。

实施例四

图6为本发明实施例四提供的一种电子设备的结构示意图。如图6所示,该电子设备包括:第一处理器670、第一存储器671及存储在第一存储器671上并可在第一处理器670上运行的计算机程序;其中,第一处理器670的数量可以是一个或多个,图6中以一个第一处理器670为例;第一处理器670执行所述计算机程序时实现如上述实施例中所述的第三方apk签名方法。如图6所示,所述电子设备还可以包括第一输入装置672和第一输出装置673。第一处理器670、第一存储器671、第一输入装置672和第一输出装置673可以通过总线或其他方式连接,图6中以通过总线连接为例。

第一存储器671作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中第三方apk签名方法对应的程序指令/模块(例如,第三方apk签名装置中的接收模块、显示模块或者匹配签名模块等)。第一处理器670通过运行存储在第一存储器671中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的第三方apk签名方法。

第一存储器671可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,第一存储器671可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,第一存储器671可进一步包括相对于第一处理器670远程设置的存储器,这些远程存储器可以通过网络连接至电子设备/存储介质。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

第一输入装置672可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。第一输出装置673可包括显示屏等显示设备。

实施例五

本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种第三方apk签名方法,该方法包括:

接收打开签名链接的请求信息,其中,所述签名链接包括应用的安装包apk文件对应的签名信息;

根据所述请求信息显示对应的apk签名页面;

接收通过所述apk签名页面上传的待签名apk文件包;

基于所述待签名apk文件包进行签名信息匹配,若匹配成功,则利用匹配成功的签名信息对所述待签名apk文件包进行签名。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的第三方apk签名方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,存储介质,或者网络设备等)执行本发明各个实施例所述的方法。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1