CN105468413A - 一种支持应用软件自身证书校验的方法和装置 - Google Patents

一种支持应用软件自身证书校验的方法和装置 Download PDF

Info

Publication number
CN105468413A
CN105468413A CN201510850230.1A CN201510850230A CN105468413A CN 105468413 A CN105468413 A CN 105468413A CN 201510850230 A CN201510850230 A CN 201510850230A CN 105468413 A CN105468413 A CN 105468413A
Authority
CN
China
Prior art keywords
certificate
application software
api
installation kit
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201510850230.1A
Other languages
English (en)
Other versions
CN105468413B (zh
Inventor
王伟
陈电波
赵亮
周登祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Uusafe Co Ltd
Original Assignee
Uusafe Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Uusafe Co Ltd filed Critical Uusafe Co Ltd
Priority to CN201510850230.1A priority Critical patent/CN105468413B/zh
Publication of CN105468413A publication Critical patent/CN105468413A/zh
Application granted granted Critical
Publication of CN105468413B publication Critical patent/CN105468413B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种支持应用软件自身证书校验的方法和装置,其中方法包括:应用软件为读取证书调取系统相应的api;启动证书解析模块;所述证书解析模块拦截所述api的参数;所述证书解析模块解析所述api的参数,获得所述应用软件正试图读取自己证书的信息;调用证书替换模块;所述证书替换模块从应用软件安装包中找到所述证书,并将所述证书返回给所述api。本发明能够对应用软件自身证书进行校验,确保了应用软件的正常运行,提升了用户使用体验。

Description

一种支持应用软件自身证书校验的方法和装置
技术领域
本发明涉及Android应用软件的技术领域,尤其涉及一种支持应用软件自身证书校验的方法和装置。
背景技术
Android系统要求,所有的程序经过数字签名后才能安装。Android系统使用这个证书来识别应用程序的作者,并且建立程序间的信任关系。证书不是用于用户控制哪些程序可以安装。证书不需要授权中心来签名:Android应用程序上使用自己签名的证书是完全允许且普遍的。
在Android开发平台上,每个应用软件会有自己的签名证书,为了防止盗版,很多应用软件自身在软件启动的时候,会对签名进行检查,发现签名不一致,会导致软件运行不正常。
发明内容
本发明目的是解决现有技术中管理Android应用软件时存在的无法运行等问题。
本发明解决技术问题采用如下技术方案:一种支持应用软件自身证书校验的方法,包括:应用软件为读取证书调取系统相应的api;启动证书解析模块;所述证书解析模块拦截所述api的参数;所述证书解析模块解析所述api的参数,获得所述应用软件正试图读取自己证书的信息;调用证书替换模块;所述证书替换模块从应用软件安装包中找到所述证书,并将所述证书返回给所述api。
可选的,所述api为系统的GetPackageInfo。
可选的,所述证书替换模块从应用软件安装包中找到所述证书,并将所述证书返回给所述api的步骤更包括:所述证书替换模块将所述证书转换为GetPackageInfo所需数据格式。
可选的,所述证书替换模块从应用软件安装包中找到所述证书的步骤更包括:找到的所述证书为原证书,所述原证书是相对于将虚拟机中的加载器模块打进原软件包中形成新的绿色软件包而言。
本发明解决技术问题采用如下技术方案:一种支持应用软件自身证书校验的装置,包括应用软件、android系统、证书解析模块、证书替换模块和应用软件安装包,其中:所述应用软件,与所述android系统耦接,用于为读取证书调取系统相应的api;所述android系统,与所述应用软件、所述证书解析模块和所述应用软件安装包耦接,用于接收所述应用软件发出的读取证书的请求、并根据请求启动证书解析模块、以及接收所述应用软件安装包提供的证书;所述证书解析模块,与所述android系统和证书替换模块耦接,用于拦截所述api的参数,并解析所述api的参数,获得所述应用软件正试图读取自己证书的信息,以及调用证书替换模块;所述证书替换模块,与所述证书解析模块和所述应用软件安装包耦接,用于从所述应用软件安装包中找到所述证书;所述应用软件安装包,与所述证书替换模块和所述android系统耦接,用于将所述证书返回给所述api。
可选的,所述api为所述android系统的GetPackageInfo。
可选的,所述证书替换模块在从应用软件安装包中找到所述证书,并将所述证书返回给所述api时更包括:所述证书替换模块将所述证书转换为GetPackageInfo所需数据格式。
可选的,所述证书替换模块从应用软件安装包中找到的所述证书为原证书,所述原证书是相对于将虚拟机中的加载器模块打进原软件包中形成新的绿色软件包而言。
本发明具有如下有益效果:
本发明能够对应用软件自身证书进行校验,确保了应用软件的正常运行,提升了用户使用体验。
附图说明
图1为本发明的所述一种支持应用软件自身证书校验的方法流程图;
图2为基于图1所述一种支持应用软件自身证书校验的装置的结构示意图。
具体实施方式
下面结合实施例及附图对本发明的技术方案作进一步阐述。
如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性耦接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表所述第一装置可直接电性耦接于所述第二装置,或通过其他装置或耦接手段间接地电性耦接至所述第二装置。说明书后续描述为实施本申请的较佳实施方式,然所述描述乃以说明本申请的一般原则为目的,并非用以限定本申请的范围。本申请的保护范围当视所附权利要求所界定者为准。
实施例1
本实施例提供了一种支持应用软件自身证书校验的方法。参见图1所示为本申请支持应用软件自身证书校验的方法的具体实施例,本实施例中所述方法包括以下步骤:
步骤101:应用软件为读取证书调取系统相应的应用程序编程接口(ApplicationProgrammingInterface,以下简称api);
步骤102:启动证书解析模块;
步骤103:所述证书解析模块拦截所述api的参数;
步骤104:所述证书解析模块解析所述api的参数,获得所述应用软件正试图读取自己证书的信息;
步骤105:调用证书替换模块;
步骤106:所述证书替换模块从应用软件安装包中找到所述证书,并将所述证书返回给所述api。
其中,所述api为系统的GetPackageInfo。
其中,所述证书替换模块从应用软件安装包中找到所述证书,并将所述证书返回给所述api的步骤更包括:所述证书替换模块将所述证书转换为GetPackageInfo所需数据格式。
其中,所述证书替换模块从应用软件安装包中找到所述证书的步骤更包括:找到的所述证书为原证书,所述原证书是相对于将虚拟机中的加载器模块打进原软件包中形成新的绿色软件包而言。具体可参加本公司申请的另一篇专利“一种利用高效虚拟机技术管理Android应用软件的方法”,其中描述到原始应用软件安装包内只有一个证书,在“一种利用高效虚拟机技术管理Android应用软件的方法”专利生成的绿色版本的应用软件包内就会新增一个证书。那么,在绿色软件安装到移动终端后,系统的GetPackageInfo这个api只能找到新增的证书,而此时这个应用软件是想读取到自己原来的证书。
实施例2
本实施例提供了一种支持应用软件自身证书校验的装置。参见图2所示为本申请支持应用软件自身证书校验的装置的具体实施例,本实施例中所述装置包括应用软件201、android系统202、证书解析模块203、证书替换模块204和应用软件安装包205,其中:
所述应用软件201,与所述android系统202耦接,用于为读取证书调取系统相应的api;
所述android系统202,与所述应用软件201、所述证书解析模块203和所述应用软件安装包205耦接,用于接收所述应用软件201发出的读取证书的请求、并根据请求启动证书解析模块203、以及接收所述应用软件安装包205提供的证书;
所述证书解析模块203,与所述android系统202和证书替换模块204耦接,用于拦截所述api的参数,并解析所述api的参数,获得所述应用软件201、正试图读取自己证书的信息,以及调用证书替换模块204;
所述证书替换模块204,与所述证书解析模块203和所述应用软件安装包205耦接,用于从所述应用软件安装包205中找到所述证书;
所述应用软件安装包205,与所述证书替换模块204和所述android系统202耦接,用于将所述证书返回给所述api。
其中,所述api为所述android系统202的GetPackageInfo。
其中,所述证书替换模块204在从应用软件安装包205中找到所述证书,并将所述证书返回给所述api时更包括:所述证书替换模块204将所述证书转换为GetPackageInfo所需数据格式。
其中,所述证书替换模块204从应用软件安装包205中找到的所述证书为原证书,所述原证书是相对于将虚拟机中的加载器模块打进原软件包中形成新的绿色软件包而言。具体可参加本公司申请的另一篇专利“一种利用高效虚拟机技术管理Android应用软件的方法”,其中描述到原始应用软件安装包内只有一个证书,在“一种利用高效虚拟机技术管理Android应用软件的方法”专利生成的绿色版本的应用软件包内就会新增一个证书。那么,在绿色软件安装到移动终端后,系统的GetPackageInfo这个api只能找到新增的证书,而此时这个应用软件是想读取到自己原来的证书。
以上实施例的先后顺序仅为便于描述,不代表实施例的优劣。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (8)

1.一种支持应用软件自身证书校验的方法,其特征在于,包括:
应用软件为读取证书调取系统相应的api;
启动证书解析模块;
所述证书解析模块拦截所述api的参数;
所述证书解析模块解析所述api的参数,获得所述应用软件正试图读取自己证书的信息;
调用证书替换模块;
所述证书替换模块从应用软件安装包中找到所述证书,并将所述证书返回给所述api。
2.根据权利要求1所述的支持应用软件自身证书校验的方法,其特征在于,所述api为系统的GetPackageInfo。
3.根据权利要求2所述的支持应用软件自身证书校验的方法,其特征在于,所述证书替换模块从应用软件安装包中找到所述证书,并将所述证书返回给所述api的步骤更包括:所述证书替换模块将所述证书转换为GetPackageInfo所需数据格式。
4.根据权利要求1所述的支持应用软件自身证书校验的方法,其特征在于,所述证书替换模块从应用软件安装包中找到所述证书的步骤更包括:找到的所述证书为原证书,所述原证书是相对于将虚拟机中的加载器模块打进原软件包中形成新的绿色软件包而言。
5.一种支持应用软件自身证书校验的装置,其特征在于,包括应用软件、android系统、证书解析模块、证书替换模块和应用软件安装包,其中:
所述应用软件,与所述android系统耦接,用于为读取证书调取系统相应的api;
所述android系统,与所述应用软件、所述证书解析模块和所述应用软件安装包耦接,用于接收所述应用软件发出的读取证书的请求、并根据请求启动证书解析模块、以及接收所述应用软件安装包提供的证书;
所述证书解析模块,与所述android系统和证书替换模块耦接,用于拦截所述api的参数,并解析所述api的参数,获得所述应用软件正试图读取自己证书的信息,以及调用证书替换模块;
所述证书替换模块,与所述证书解析模块和所述应用软件安装包耦接,用于从所述应用软件安装包中找到所述证书;
所述应用软件安装包,与所述证书替换模块和所述android系统耦接,用于将所述证书返回给所述api。
6.根据权利要求5所述的支持应用软件自身证书校验的装置,其特征在于,所述api为所述android系统的GetPackageInfo。
7.根据权利要求6所述的支持应用软件自身证书校验的装置,其特征在于,所述证书替换模块在从应用软件安装包中找到所述证书,并将所述证书返回给所述api时更包括:所述证书替换模块将所述证书转换为GetPackageInfo所需数据格式。
8.根据权利要求5所述的支持应用软件自身证书校验的装置,其特征在于,所述证书替换模块从应用软件安装包中找到的所述证书为原证书,所述原证书是相对于将虚拟机中的加载器模块打进原软件包中形成新的绿色软件包而言。
CN201510850230.1A 2015-11-27 2015-11-27 一种支持应用软件自身证书校验的方法和装置 Active CN105468413B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510850230.1A CN105468413B (zh) 2015-11-27 2015-11-27 一种支持应用软件自身证书校验的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510850230.1A CN105468413B (zh) 2015-11-27 2015-11-27 一种支持应用软件自身证书校验的方法和装置

Publications (2)

Publication Number Publication Date
CN105468413A true CN105468413A (zh) 2016-04-06
CN105468413B CN105468413B (zh) 2018-09-18

Family

ID=55606151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510850230.1A Active CN105468413B (zh) 2015-11-27 2015-11-27 一种支持应用软件自身证书校验的方法和装置

Country Status (1)

Country Link
CN (1) CN105468413B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309146A (zh) * 2008-06-13 2008-11-19 南京邮电大学 一种可自更新代理证书的网格安全系统的实现方法
CN102300065A (zh) * 2011-08-31 2011-12-28 四川长虹电器股份有限公司 基于安卓平台的智能电视软件安全认证的方法
CN102663320A (zh) * 2012-04-12 2012-09-12 福建联迪商用设备有限公司 终端识别开发者及划分不同权限开发者的方法
US20120284508A1 (en) * 2011-05-06 2012-11-08 Certicom Corp. Validating a batch of implicit certificates
CN104933355A (zh) * 2015-06-18 2015-09-23 上海斐讯数据通信技术有限公司 移动终端可信应用的安装校验系统及其校验方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101309146A (zh) * 2008-06-13 2008-11-19 南京邮电大学 一种可自更新代理证书的网格安全系统的实现方法
US20120284508A1 (en) * 2011-05-06 2012-11-08 Certicom Corp. Validating a batch of implicit certificates
CN102300065A (zh) * 2011-08-31 2011-12-28 四川长虹电器股份有限公司 基于安卓平台的智能电视软件安全认证的方法
CN102663320A (zh) * 2012-04-12 2012-09-12 福建联迪商用设备有限公司 终端识别开发者及划分不同权限开发者的方法
CN104933355A (zh) * 2015-06-18 2015-09-23 上海斐讯数据通信技术有限公司 移动终端可信应用的安装校验系统及其校验方法

Also Published As

Publication number Publication date
CN105468413B (zh) 2018-09-18

Similar Documents

Publication Publication Date Title
EP2696532A2 (en) Method, server and system for starting application
CN103810008B (zh) 插件加载方法及系统
CN103744686A (zh) 智能终端中应用安装的控制方法和系统
CN102347941A (zh) 一种基于开放平台的安全应用控制方法
CN106131612A (zh) 安卓app动态加载资源功能模块的方法及系统
CN105162820A (zh) 一种数据同步方法和设备
CN103139391A (zh) 对手机安装或卸载应用程序进行权限验证的方法及装置
CN103077059A (zh) 判断应用程序是否匹配的方法
CN105302711A (zh) 一种应用修复方法、装置及终端
CN105786636B (zh) 一种系统修复方法及装置
CN105704296A (zh) 一种应用环境克隆方法及装置
CN114861158A (zh) 安全认证方法、装置、系统、电子设备及存储介质
CN105335192B (zh) 一种信息处理方法及电子设备
CN104751046B (zh) 一种应用程序的用户认证方法及移动终端设备
US10007529B2 (en) Data terminal running mode switching method, device, and data terminal
CN106878082B (zh) 一种虚拟网卡热迁移方法及其装置
CN109583182B (zh) 启动远程桌面的方法、装置、电子设备及计算机存储介质
CN106326723A (zh) Apk签名认证的方法及装置
CN105468413A (zh) 一种支持应用软件自身证书校验的方法和装置
CN104348646A (zh) 配置数据处理方法、装置及系统
CN115208687B (zh) 一种基于网关签名认证的子设备动态签名方法
CN105320545A (zh) 一种支持应用软件检查第三方软件的证书的方法和装置
CN103186465A (zh) 网页用户界面的浏览器兼容性测试方法和系统
WO2017148337A1 (zh) 终端服务的提供、获取方法、装置及终端
CN106293789A (zh) Vrd固件自动更新系统及其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method and device for supporting application software's own certificate verification

Effective date of registration: 20220708

Granted publication date: 20180918

Pledgee: Beijing Zhongguancun bank Limited by Share Ltd.

Pledgor: Beijing Zhizhangyi Technology Co.,Ltd.

Registration number: Y2022110000154

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230727

Granted publication date: 20180918

Pledgee: Beijing Zhongguancun bank Limited by Share Ltd.

Pledgor: Beijing Zhizhangyi Technology Co.,Ltd.

Registration number: Y2022110000154