一种APK签名认证方法及其系统技术方案

技术编号:12999499 阅读:51 留言:0更新日期:2016-03-10 12:37
本发明专利技术提供一种APK签名认证方法及其系统,方法包括:对原始APK文件和收单机构签名描述信息进行签名,得到签名信息;插入签名信息至原始APK文件内部的META-INF目录下,生成签名后APK文件;终端获取所述签名后APK文件;获取所述签名后APK文件中的签名信息;获取原始APK文件;终端验证所述签名信息和所述原始APK文件的合法性,验证通过后,终端安装所述原始APK文件。将签名文件存放在META-INF目录下,在厂商验证签名APK文件时还原得到原始APK文件,以通过厂商验证;同时,也不会影响终端操作系统对原始APK文件的原生验签机制,实现统一APK签名,且提高终端操作系统的兼容性。

【技术实现步骤摘要】

本专利技术涉及签名认证领域,具体说的是一种APK签名认证方法及其系统
技术介绍
Android安卓系统是Google公司开发的基于Linux架构的开源操作系统,其上的安装程序均为APK (Android Package)格式。APK文件格式实际上为zip压缩文件格式,其主要分为三个部分,分别为压缩的文件内容源数据,压缩的目录源数据和目录结束标识结构。在金融支付领域,一般是由收单机构采购支付终端厂商的智能终端设备,由收单系统对支付终端进行集中管理,包括参数下载,密钥下载,接受、处理或转发支付终端的交易请求,并向支付终端回送交易结果信息,是集中管理和交易处理的系统。收单系统会在支付终端上安装自己的程序,并为支付终端设备维护已签名的APK,也可能需要将APK安装到其他Andro i d设备中。本专利技术的申请人在先已经递交过申请号为201410165104.8的专利技术专利申请,公开了一种统一 APK签名的方法及其系统,通过在APK源文件的尾部添加签名信息,实现了收单机构只要生成一个经过统一签名的APK文件,就能下载到不同的终端设备上通过终端设备的验签机制,在保证已签名的APK文件在数据传输过程数据的完整性和APK合法性的同时,收单机构针对不同厂商的终端设备也只需维护一个已签名的文件和一套签名验签机制,大大缩减了收单机构针对APK签名的维护成本。上述技术方案在Android 5.0系统之前都可以正常执行,但是在Android 5.0系统之后,由于在APK解压过程中会验证其尾部数据,若原生APK签名+尾部数据长度不等于源文件长度就会报错,导致APK文件安装失败。因此,有必要在上述方案的基础上进行改进,克服上述问题,提供一种全新的APK签名验证方式,方便收单机构维护已签名的APK,减少管理成本,以便收单机构只需要维护一个已签名的APK,且可以下载到不同的Android设备中的同时,又能兼容不同版本的终端操作系统。
技术实现思路
本专利技术所要解决的技术问题是:提供一种APK签名认证方法及其系统,能够兼容终端操作系统的原生签名机制,提高统一 APK签名认证方式的兼容性。为了解决上述技术问题,本专利技术采用的技术方案为:一种APK签名认证方法,包括:对原始APK文件和收单机构签名描述信息进行签名,得到签名信息;插入签名信息至原始APK文件内部的ΜΕΤΑ-1NF目录下,生成签名后APK文件;终端获取所述签名后APK文件;获取所述签名后APK文件中的签名信息;获取原始APK文件;终端验证所述签名信息和所述原始APK文件的合法性,验证通过后,终端安装所述原始APK文件。本专利技术提供的另一个技术方案为:一种APK签名认证系统,包括收单机构和终端,所述收单机构包括安全存储模块、签名执行模块和签名组织模块;所述终端包括第一获取模块、第二获取模块、第三获取模块、签名验证模块以及安装执行模块;所述安全存储模块,用于存储收单机构的工作公钥证书和所述工作公钥证书对应的私钥;所述签名执行模块,用于对原始APK文件和收单机构签名描述信息进行签名,得到签名信息;所述签名组织模块,用于插入签名信息至原始APK文件内部的ΜΕΤΑ-1NF目录下,生成签名后APK文件;所述第一获取模块,用于终端获取所述签名后APK文件;所述第二获取模块,用于获取所述签名后APK文件中的签名信息;所述第三获取模块,用于终端获取原始APK文件;所述签名验证模块,用于终端验证所述签名信息和所述原始APK文件的合法性;所述安装执行模块,用于所述签名验证模块验证通过后,终端安装所述原始APK文件。本专利技术的有益效果在于:本专利技术不仅实现了收单机构只要生成一个经过统一签名的APK文件,便能下载到不同的终端设备上通过终端设备的验签机制,在保证已签名的APK文件在数据传输过程数据完整性和APK合法性的同时,收单机构针对不同厂商的终端设备也只需维护一个已签名的文件和一套签名验签机制,大大缩减了收单机构对APK签名的维护成本。最关键的是,本专利技术将签名文件存放在ΜΕΤΑ-1NF目录下,不会影响终端操作系统的原生验签机制,能够兼容更高级版本的终端操作系统,顺利完成APK文件的安装。【附图说明】图1为本专利技术一种APK签名认证方法的流程方框图;图2为本专利技术一种APK签名认证方法的签名和验签流程方框图;图3为本专利技术一种APK签名认证方法及其系统中的签名文件格式示意图;图4为本专利技术中收单机构下发至终端的签名后APK文件的总体结构图;图5为本专利技术原始APK文件与签名后APK文件的格式差异示意图;图6为本专利技术一种APK签名认证方法及其系统中终端厂商验签过程示意图;图7为本专利技术终端验签时还原原始APK文件过程中的格式变化示意图;图8为本专利技术一种APK签名认证系统的结构示意图;图9为图8中签名组织模块的结构示意图;图10为图8中第三获取模块的结构示意图;图11为图8中签名执行模块的结构示意图;图12为图8中签名验证模块的结构示意图;标号说明:1、收单机构;2、终端;n、安全存储模块;12、签名执行模块;13、签名组织模块;21、第一获取模块;22、第二获取模块;23、第三获取模块;24、签名验证模块;25、安装执行模块;131、第一添加单元;132、第二添加单元;133、第一修改单元;231、拷贝单元;232、第一删除单元;233、第二删除单元;234、第二修改单元;121、第一生成单元;122、第一计算单元;123、第一签名单元;124、第二签名单元;125、第二生成单元;241、第三生成单元;242、第一验证单元;243、第二验证单元;244、获取单元;245、第二计算单元;246、判断单元。【具体实施方式】为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。本专利技术最关键的构思在于:将签名文件存放在ΜΕΤΑ-1NF目录下,在厂商验证签名APK文件时还原得到原始APK文件,以通过厂商验证;同时,也不会影响终端操作系统对原始APK文件的原生验签机制,实现统一 APK签名,且提高终端操作系统的兼容性。请参照图1至图7,本专利技术提供一种APK签名认证方法,如图1所示,包括:对原始APK文件和收单机构签名描述信息进行签名,得到签名信息;插入签名信息至原始APK文件内部的ΜΕΤΑ-1NF目录下,生成签名后APK文件; 终端获取所述签名后APK文件;获取所述签名后APK文件中的签名信息;获取原始APK文件;终端验证所述签名信息和所述原始APK文件的合法性,验证通过后,终端安装所述原始APK文件。从上述描述可知,本专利技术的有益效果在于:本专利技术在实现了统一 APK签名认证方式,方便终端管理者管理不同终端设备和减少管理成本,提高用户体验的同时;通过将签名信息放置在原始APK内部的ΜΕΤΑ-1NF目录下,利用ΜΕΤΑ-1NF目录只在厂商对终端设备对签名后APK文件的验签过程中才会对其进行验证,而在终端的操作系统安装原始APK文件的原生验签过程中则不会对其进行验证的特点,在厂商对终端所下载的签名后APK文件进行验签之前,还原出原始的APK文件,以便顺利通过厂商的验签;同时,又能顺利通过终端的操作系统的原生验签,确保终端在保证所下载的原始APK文件的安全性前提下,正常的安装原始APK文件,提高统一 本文档来自技高网
...

【技术保护点】
一种APK签名认证方法,其特征在于,包括:对原始APK文件和收单机构签名描述信息进行签名,得到签名信息;插入签名信息至原始APK文件内部的META‑INF目录下,生成签名后APK文件;终端获取所述签名后APK文件;获取所述签名后APK文件中的签名信息;获取原始APK文件;终端验证所述签名信息和所述原始APK文件的合法性,验证通过后,终端安装所述原始APK文件。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈菲菲孟陆强陈祖勋彭波涛颜剑明陈恩
申请(专利权)人:福建联迪商用设备有限公司
类型:发明
国别省市:福建;35

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

1