用于签名校验的方法和装置制造方法及图纸

技术编号:31228082 阅读:17 留言:0更新日期:2021-12-08 09:38
本公开的实施例公开了用于签名校验的方法和装置。该方法的一具体实施方式包括:响应于检测到应用的启动,执行如下校验步骤:获取应用的源签名信息,其中,源签名信息预先编码在应用中,源签名信息用于表征应用的源数字证书;获取以及解析应用的签名文件,得到待校验的签名信息;确定待校验的签名信息与源签名信息是否一致;响应于确定待校验的签名信息与源签名信息不一致,生成用于提示应用被重签名的提示信息。该实施方式实现了对应用的签名校验。验。验。

【技术实现步骤摘要】
用于签名校验的方法和装置


[0001]本公开的实施例涉及计算机
,具体涉及用于签名校验的方法和装置。

技术介绍

[0002]随着移动互联网迅速发展和移动终端设备的普及,带来了APP(Application)的迅猛发展。APP扩展了移动终端设备的功能和服务,而且正在改变人们的生活方式。因此,当下以移动终端设备为平台的APP开发是创业的热门之一。
[0003]目前,随着移动互联网的开发技术也取得了非常大的进展,导致APP开发的技术门槛也越来越低。不仅专业的开发人员可以进行APP开发,甚至任何普通用户都可以利用一些第三方的开发工具等进行APP开发。这在给许多有创意的用户带来方便的同时,也给一些恶意攻击者带来了机会。
[0004]APP被恶意篡改是当前APP开发面临的一个主要的安全问题之一。一些恶意攻击者通过篡改APP来实现各种目的。例如,窃取用户隐私信息、修改系统权限以访问系各种系统资源、绑定安装某些插件等等。针对这种情况,移动终端系统提供了签名机制来验证安装的应用是否可信,这种方法可以一定程度地避免应用被第三方篡改的情况。

技术实现思路

[0005]本公开的实施例提出了用于签名校验的方法和装置。
[0006]第一方面,本公开的实施例提供了一种用于签名校验的方法,该方法包括:响应于检测到应用的启动,执行如下校验步骤:获取应用的源签名信息,其中,源签名信息预先编码在应用中,源签名信息用于表征应用的源数字证书;获取以及解析应用的签名文件,得到待校验的签名信息;确定待校验的签名信息与源签名信息是否一致;响应于确定待校验的签名信息与源签名信息不一致,生成用于提示应用被重签名的提示信息。
[0007]在一些实施例中,上述获取应用的源签名信息,包括:利用反射技术获取源签名信息的编码位置;从编码位置获取源签名信息。
[0008]在一些实施例中,上述获取以及解析应用的签名文件,包括:利用反射技术获取应用的签名文件。
[0009]在一些实施例中,上述校验步骤在应用的原生Native层执行。
[0010]在一些实施例中,上述源签名信息通过硬编码的方式预先编码在应用中。
[0011]在一些实施例中,上述源签名信息通过加密存储的方式预先编码在应用中。
[0012]在一些实施例中,上述方法还包括:响应于确定从编码位置获取源签名信息失败,生成用于提示应用存在异常的提示信息。
[0013]第二方面,本公开的实施例提供了一种用于签名校验的装置,该装置包括:校验单元,被配置成响应于检测到应用的启动,执行如下校验步骤:获取应用的源签名信息,其中,源签名信息预先编码在应用中,源签名信息用于表征应用的源数字证书;获取以及解析应用的签名文件,得到待校验的签名信息;确定待校验的签名信息与源签名信息是否一致;响
应于确定待校验的签名信息与源签名信息不一致,生成用于提示应用被重签名的提示信息。
[0014]在一些实施例中,上述校验步骤还包括:利用反射技术获取源签名信息的编码位置;从编码位置获取源签名信息。
[0015]在一些实施例中,上述校验步骤还包括:利用反射技术获取应用的签名文件。
[0016]在一些实施例中,上述校验步骤在应用的原生Native层执行。
[0017]在一些实施例中,上述源签名信息通过硬编码的方式预先编码在应用中。
[0018]在一些实施例中,上述源签名信息通过加密存储的方式预先编码在应用中。
[0019]在一些实施例中,上述校验步骤还包括:响应于确定从编码位置获取源签名信息失败,生成用于提示应用存在异常的提示信息。
[0020]第三方面,本公开的实施例提供了一种终端,该终端包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
[0021]第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
[0022]本公开的实施例提供的用于签名校验的方法通过在应用启动时,从应用中直接获取预先编码在其中的、用于表征应用的源数字证书的源签名信息,并解析签名文件中的待校验的签名信息,然后比较待校验的签名信息和应用的源签名信息是否一致,若两者不一致,则向用户提示应用可能已被重签名,从而实现对应用的签名校验。
附图说明
[0023]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
[0024]图1是本公开的一个实施例可以应用于其中的示例性系统架构图;
[0025]图2是根据本公开的用于签名校验的方法的一个实施例的流程图;
[0026]图3是根据本公开的实施例的用于签名校验的方法的一个应用场景的示意图;
[0027]图4是针对Android应用的签名校验的校验步骤的一个实施例的流程图;
[0028]图5是根据本公开的用于签名校验的装置的一个实施例的结构示意图;
[0029]图6是适于用来实现本公开的实施例的电子设备的结构示意图。
具体实施方式
[0030]下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。
[0031]需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
[0032]图1示出了可以应用本公开的用于签名校验的方法或用于签名校验的装置的实施例的示例性架构100。
[0033]如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。
网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0034]终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用。例如,浏览器类应用、应用管理类应用、购物类应用、即时通讯工具、社交平台软件、系统安全类应用等等。
[0035]终端设备101、102、103可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
[0036]服务器105可以是提供各种服务的服务器,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于签名校验的方法,包括:响应于检测到应用的启动,执行如下校验步骤:获取所述应用的源签名信息,其中,所述源签名信息预先编码在所述应用中,所述源签名信息用于表征所述应用的源数字证书;获取以及解析所述应用的签名文件,得到待校验的签名信息;确定所述待校验的签名信息与所述源签名信息是否一致;响应于确定所述待校验的签名信息与所述源签名信息不一致,生成用于提示所述应用被重签名的提示信息。2.根据权利要求1所述的方法,其中,所述获取所述应用的源签名信息,包括:利用反射技术获取所述源签名信息的编码位置;从所述编码位置获取所述源签名信息。3.根据权利要求1所述的方法,其中,所述获取以及解析所述应用的签名文件,包括:利用反射技术获取所述应用的签名文件。4.根据权利要求1所述的方法,其中,所述校验步骤在所述应用的原生Native层执行。5.根据权利要求1所述的方法,其中,所述源签名信息通过硬编码的方式预先编码在所述应用中。6.根据权利要求5所述的方法,其中,所述源签名信息通过加密存储的方式...

【专利技术属性】
技术研发人员:张亚庆杜凡
申请(专利权)人:北京京东世纪贸易有限公司
类型:发明
国别省市:

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

1