[发明专利]一种APK签名认证方法及系统在审
申请号: | 201780001458.0 | 申请日: | 2017-10-27 |
公开(公告)号: | CN107980132A | 公开(公告)日: | 2018-05-01 |
发明(设计)人: | 陈菲菲;孟陆强;彭波涛;江中杰 | 申请(专利权)人: | 福建联迪商用设备有限公司 |
主分类号: | G06F21/44 | 分类号: | G06F21/44;H04L9/32 |
代理公司: | 福州市博深专利事务所(普通合伙)35214 | 代理人: | 林志峥 |
地址: | 350000 福建省福州市鼓*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 apk 签名 认证 方法 系统 | ||
1.一种APK签名认证方法,其特征在于,包括步骤:
S1、对原始APK文件进行签名,生成签名信息;
S2、在APK签名块添加一自定义的ID-value域,将所述签名信息插入所述自定义的ID-value域,生成签名后的APK文件;
S3、终端获取所述签名后的APK文件,提取出所述签名信息,还原出原始APK文件;
S4、终端验证所述签名信息和所述原始APK文件的合法性,验证通过后,终端安装所述原始APK文件。
2.根据权利要求1所述的APK签名认证方法,其特征在于,
所述步骤S2具体包括:
按照APK签名块格式,在APK签名块添加一自定义的ID-value域,将所述签名信息插入所述自定义的ID-value域,并相应修改所述原始APK文件的APK签名块的块长度和目录结束标识结构,生成签名后的APK文件。
3.根据权利要求2所述的APK签名认证方法,其特征在于,
所述修改所述原始APK文件的APK签名块的块长度和目录结束标识结构具体包括:
所述APK签名块的块长度加上所述自定义ID-value域的大小,所述目录结束标识结构中的目录偏移位置加上所述自定义ID-value域的大小。
4.根据权利要求1所述的APK签名认证方法,其特征在于,
所述步骤S3中提取出所述签名信息,还原出原始APK文件具体包括:
根据ID标识从APK签名块中自定义的ID-value域拷贝出签名信息;
将所述自定义的ID-value域从所述APK签名块中删除,并相应修改APK文件的APK签名块的块长度和目录结束标识结构,还原出原始APK文件。
5.根据权利要求4所述的APK签名认证方法,其特征在于,
所述修改APK文件的APK签名块的块长度和目录结束标识结构具体包括:
所述APK签名块的块长度减去所述自定义ID-value域的大小,所述目录结束标识结构中的目录偏移位置减去所述自定义ID-value域的大小。
6.根据权利要求1所述的APK签名认证方法,其特征在于,
所述步骤S1具体包括:
生成收单机构工作公钥证书,将与所述收单机构工作公钥证书对应的公钥分发至不同厂商;
将原始APK文件和收单机构签名描述信息一起作为被签名数据,对所述被签名数据计算哈希,得到第一哈希值;
填充所述第一哈希值,得到填充后的数据;
获取与所述收单机构工作公钥证书对应的私钥,并利用所述私钥对所述填充后的数据进行签名,得到收单机构签名数据;
生成包含所述收单机构签名描述信息、收单机构签名数据和收单机构工作公钥证书的签名信息。
7.根据权利要求6所述的APK签名认证方法,其特征在于,
所述步骤S4中终端验证所述签名信息和所述原始APK文件的合法性具体包括:
终端使用对应的厂商根据所述公钥生成的收单机构根公钥证书验证所述签名信息中的收单机构工作公钥证书的合法性;
若验证通过,则从所述收单机构工作公钥证书提取所述第二公钥,使用所述第二公钥解密所述收单机构签名数据,获得第一哈希值;
对所述收单结构签名描述信息和原始APK文件计算哈希,得到第二哈希值;
判断所述第二哈希值与所述第一哈希值是否一致,若一致,则验证通过。
8.根据权利要求6所述的APK签名认证方法,其特征在于,
所述步骤S4中终端安装所述原始APK文件包括:
从APK签名块提取原生签名数据,还原出未被原生签名的APK文件;
验证所述原生签名数据和所述未被原生签名的APK文件的合法性,验证通过后,安装所述未被原生签名的APK文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建联迪商用设备有限公司,未经福建联迪商用设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780001458.0/1.html,转载请声明来源钻瓜专利网。