CN114301601B - 一种基于Android平台的接口管理方法及终端 - Google Patents
一种基于Android平台的接口管理方法及终端 Download PDFInfo
- Publication number
- CN114301601B CN114301601B CN202111623119.0A CN202111623119A CN114301601B CN 114301601 B CN114301601 B CN 114301601B CN 202111623119 A CN202111623119 A CN 202111623119A CN 114301601 B CN114301601 B CN 114301601B
- Authority
- CN
- China
- Prior art keywords
- interface
- application file
- authorization
- called
- certificate
- 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.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims abstract description 44
- 238000013475 authorization Methods 0.000 claims abstract description 200
- 238000012795 verification Methods 0.000 claims abstract description 63
- 238000004458 analytical method Methods 0.000 claims description 15
- 238000000034 method Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012942 design verification Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开一种基于Android平台的接口管理方法,接收应用文件的接口调用请求,所述接口调用请求包括待调用接口和待调用接口权限;根据所述接口调用请求读取所述应用文件对应的授权证书;使用预设CA证书对所述授权证书进行验证,若验证通过,则读取所述应用文件对应的待校验应用包名和待校验签名指纹;基于所述授权证书对所述待校验应用包名和所述待校验签名指纹进行校验,若校验通过,则判断所述待调用接口权限是否属于预设接口权限范围,若是,则通过所述接口调用请求,对应用的接口调用请求进行了三重校验,在确保了厂商接口安全的情况下,实现对厂商接口的有序调用,从而安全有效地实现厂商接口的管理。
Description
技术领域
本发明涉及接口管理技术领域,尤其涉及一种基于Android平台的接口管理方法及终端。
背景技术
随着Android系统的不断发展,Android系统用于越来越多的设备,如POS机、收银机等设备。对于设备厂商,一般会提供一些对外开发的统一接口,然而安全链路、生命周期服务、生产测试、生产配置等厂商内部应用触发终端产生控制响应,如响应本地/远程攻击告警、清应用数据、锁机、重启等;这些响应行为属于敏感受控的请求,且与终端生命周期紧密关联,属于厂商内部功能,一般不对普通应用开放。对于此类厂商内部的敏感性接口,目前缺乏一套安全有效的管理方案。
发明内容
本发明所要解决的技术问题是:提供一种基于Android平台的接口管理方法及终端,能够安全有效地实现厂商接口的管理。
为了解决上述技术问题,本发明采用的一种技术方案为:
一种基于Android平台的接口管理方法,包括:
接收应用文件的接口调用请求,所述接口调用请求包括待调用接口和待调用接口权限;
根据所述接口调用请求读取所述应用文件对应的授权证书;
使用预设CA证书对所述授权证书进行验证,若验证通过,则读取所述应用文件对应的待校验应用包名和待校验签名指纹;
基于所述授权证书对所述待校验应用包名和所述待校验签名指纹进行校验,若校验通过,则判断所述待调用接口权限是否属于预设接口权限范围,若是,则通过所述接口调用请求。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种基于Android平台的接口管理终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收应用文件的接口调用请求,所述接口调用请求包括待调用接口和待调用接口权限;
根据所述接口调用请求读取所述应用文件对应的授权证书;
使用预设CA证书对所述授权证书进行验证,若验证通过,则读取所述应用文件对应的待校验应用包名和待校验签名指纹;
基于所述授权证书对所述待校验应用包名和所述待校验签名指纹进行校验,若校验通过,则判断所述待调用接口权限是否属于预设接口权限范围,若是,则通过所述接口调用请求。
本发明的有益效果在于:根据接收的应用文件的接口调用请求读取应用文件对应的授权证书,使用预设CA证书对授权证书进行验证,若验证通过,则读取应用文件对应的应用包名和签名指纹,基于授权证书对待校验应用包名和待校验签名指纹进行校验,若校验通过,则判断待调用接口权限是否属于预设接口权限范围,若是,则允许应用文件调用待调用接口,为每一应用文件授权一个授权证书,使用预设CA证书对授权证书进行验证,以确保授权证书的有效性,授权证书有效则基于授权证书对读取到的应用包名和签名指纹进行校验,校验通过后若待调用接口权限属于预设接口权限范围,则允许调用待调用接口,即对应用的接口调用请求进行了三重校验,在确保了厂商接口安全的情况下,实现对厂商接口的有序调用,从而安全有效地实现厂商接口的管理。
附图说明
图1为本发明实施例的一种基于Android平台的接口管理方法的步骤流程图;
图2为本发明实施例的一种基于Android平台的接口管理终端的结构示意图;
图3为本发明实施例基于Android平台的接口管理方法中应用文件授权的流程示意图;
图4为本发明实施例基于Android平台的接口管理方法中授权请求示意图;
图5为本发明实施例基于Android平台的接口管理方法中预设接口权限范围示意图;
图6为本发明实施例基于Android平台的接口管理方法中接口调用的权限校验流程图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,本发明实施例提供了一种基于Android平台的接口管理方法,包括:
接收应用文件的接口调用请求,所述接口调用请求包括待调用接口和待调用接口权限;
根据所述接口调用请求读取所述应用文件对应的授权证书;
使用预设CA证书对所述授权证书进行验证,若验证通过,则读取所述应用文件对应的待校验应用包名和待校验签名指纹;
基于所述授权证书对所述待校验应用包名和所述待校验签名指纹进行校验,若校验通过,则判断所述待调用接口权限是否属于预设接口权限范围,若是,则通过所述接口调用请求。
从上述描述可知,本发明的有益效果在于:根据接收的应用文件的接口调用请求读取应用文件对应的授权证书,使用预设CA证书对授权证书进行验证,若验证通过,则读取应用文件对应的应用包名和签名指纹,基于授权证书对待校验应用包名和待校验签名指纹进行校验,若校验通过,则判断待调用接口权限是否属于预设接口权限范围,若是,则允许应用文件调用待调用接口,为每一应用文件授权一个授权证书,使用预设CA证书对授权证书进行验证,以确保授权证书的有效性,授权证书有效则基于授权证书对读取到的应用包名和签名指纹进行校验,校验通过后若待调用接口权限属于预设接口权限范围,则允许调用待调用接口,即对应用的接口调用请求进行了三重校验,在确保了厂商接口安全的情况下,实现对厂商接口的有序调用,从而安全有效地实现厂商接口的管理。
进一步地,所述接收应用文件的接口调用请求之前包括:
接收应用文件的授权请求,所述授权请求包括应用文件、待调用接口、待调用接口权限和授权类型;
根据所述应用文件使用预设CA证书中的私钥生成签名指纹;
基于所述签名指纹、所述授权类型、所述应用文件、所述待调用接口和所述待调用接口权限生成与所述应用文件对应的授权证书;
基于所述授权证书对所述应用文件进行授权,得到授权后的应用文件。
由上述描述可知,需要对应用文件进行授权时,根据应用文件使用预设CA证书的私钥生成签名指纹,基于签名指纹、授权类型、应用文件、待调用接口和带调用接口权限生成授权证书,利用授权证书对应用文件进行授权,得到授权后的应用文件,与未授权的应用文件相比,授权后的应用文件中包含了用户所申请的接口及接口权限等信息,并且还包括了应用文件本身的信息,便于在应用文件进行接口调用时,对应用文件进行接口调用的权限校验,进而安全有效地实现厂商接口的管理。
进一步地,所述基于所述签名指纹、所述授权类型、所述应用文件、所述待调用接口和所述待调用接口权限生成与所述应用文件对应的授权证书包括:
解析所述应用文件,得到应用文件解析值;
获取授权证书模板,根据所述签名指纹、所述授权类型、所述应用文件解析值、所述待调用接口和所述待调用接口权限填充所述授权证书模板,生成与所述应用文件对应的授权证书。
由上述描述可知,授权证书中包括签名指纹、授权类型、应用文件解析值、待调用接口和待调用接口权限的相关信息,后续便于利用授权证书进行权限校验,提高权限校验的准确性。
进一步地,所述基于所述授权证书对所述应用文件进行授权,得到授权后的应用文件包括:
根据所述授权证书重构所述应用文件,得到重构后的应用文件;
计算所述重构后的应用文件的摘要,得到摘要信息;
使用所述私钥对所述摘要信息进行签名,得到签名后的摘要信息;
将所述重构后的应用文件与所述签名后的摘要信息组合,得到授权后的应用文件。
由上述描述可知,根据授权证书重构应用文件,计算重构后的应用文件的摘要,使用私钥对摘要信息进行签名,将重构后的应用文件与签名后的摘要信息组合,得到最终的授权后的应用文件,能够提高授权后的应用文件的安全性,避免授权后的应用文件被破解,而使其中的授权信息被盗用导致厂商接口被随意使用,从而保证了厂商接口的有效管理。
进一步地,所述根据所述接口调用请求读取所述应用文件对应的授权证书之前包括:
获取所述应用文件的UID;
判断所述UID是否存在于预设白名单,若是,则通过所述接口调用请求,若否,则执行所述根据所述接口调用请求读取所述应用文件对应的授权证书步骤。
由上述描述可知,在进行权限校验之前,先获取应用文件的UID(UserIdentification,用户标识),如果UID在预设白名单内,则无需进行权限校验,直接通过接口调用请求,通过在出厂时设置白名单,在预设白名单内的应用文件无需权限校验,以此能满足特殊应用的厂商接口调用需求,提高厂商接口管理的灵活性和验证效率。
请参照图2,一种基于Android平台的接口管理终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收应用文件的接口调用请求,所述接口调用请求包括待调用接口和待调用接口权限;
根据所述接口调用请求读取所述应用文件对应的授权证书;
使用预设CA证书对所述授权证书进行验证,若验证通过,则读取所述应用文件对应的待校验应用包名和待校验签名指纹;
基于所述授权证书对所述待校验应用包名和所述待校验签名指纹进行校验,若校验通过,则判断所述待调用接口权限是否属于预设接口权限范围,若是,则通过所述接口调用请求。
从上述描述可知,本发明的有益效果在于:根据接收的应用文件的接口调用请求读取应用文件对应的授权证书,使用预设CA证书对授权证书进行验证,若验证通过,则读取应用文件对应的应用包名和签名指纹,基于授权证书对待校验应用包名和待校验签名指纹进行校验,若校验通过,则判断待调用接口权限是否属于预设接口权限范围,若是,则允许应用文件调用待调用接口,为每一应用文件授权一个授权证书,使用预设CA证书对授权证书进行验证,以确保授权证书的有效性,授权证书有效则基于授权证书对读取到的应用包名和签名指纹进行校验,校验通过后若待调用接口权限属于预设接口权限范围,则允许调用待调用接口,即对应用的接口调用请求进行了三重校验,在确保了厂商接口安全的情况下,实现对厂商接口的有序调用,从而安全有效地实现厂商接口的管理。
进一步地,所述接收应用文件的接口调用请求之前包括:
接收应用文件的授权请求,所述授权请求包括应用文件、待调用接口、待调用接口权限和授权类型;
根据所述应用文件使用预设CA证书中的私钥生成签名指纹;
基于所述签名指纹、所述授权类型、所述应用文件、所述待调用接口和所述待调用接口权限生成与所述应用文件对应的授权证书;
基于所述授权证书对所述应用文件进行授权,得到授权后的应用文件。
由上述描述可知,需要对应用文件进行授权时,根据应用文件使用预设CA证书的私钥生成签名指纹,基于签名指纹、授权类型、应用文件、待调用接口和带调用接口权限生成授权证书,利用授权证书对应用文件进行授权,得到授权后的应用文件,与未授权的应用文件相比,授权后的应用文件中包含了用户所申请的接口及接口权限等信息,并且还包括了应用文件本身的信息,便于在应用文件进行接口调用时,对应用文件进行接口调用的权限校验,进而安全有效地实现厂商接口的管理。
进一步地,所述基于所述签名指纹、所述授权类型、所述应用文件、所述待调用接口和所述待调用接口权限生成与所述应用文件对应的授权证书包括:
解析所述应用文件,得到应用文件解析值;
获取授权证书模板,根据所述签名指纹、所述授权类型、所述应用文件解析值、所述待调用接口和所述待调用接口权限填充所述授权证书模板,生成与所述应用文件对应的授权证书。
由上述描述可知,授权证书中包括签名指纹、授权类型、应用文件解析值、待调用接口和待调用接口权限的相关信息,后续便于利用授权证书进行权限校验,提高权限校验的准确性。
进一步地,所述基于所述授权证书对所述应用文件进行授权,得到授权后的应用文件包括:
根据所述授权证书重构所述应用文件,得到重构后的应用文件;
计算所述重构后的应用文件的摘要,得到摘要信息;
使用所述私钥对所述摘要信息进行签名,得到签名后的摘要信息;
将所述重构后的应用文件与所述签名后的摘要信息组合,得到授权后的应用文件。
由上述描述可知,根据授权证书重构应用文件,计算重构后的应用文件的摘要,使用私钥对摘要信息进行签名,将重构后的应用文件与签名后的摘要信息组合,得到最终的授权后的应用文件,能够提高授权后的应用文件的安全性,避免授权后的应用文件被破解,而使其中的授权信息被盗用导致厂商接口被随意使用,从而保证了厂商接口的有效管理。
进一步地,所述根据所述接口调用请求读取所述应用文件对应的授权证书之前包括:
获取所述应用文件的UID;
判断所述UID是否存在于预设白名单,若是,则通过所述接口调用请求,若否,则执行所述根据所述接口调用请求读取所述应用文件对应的授权证书步骤。
由上述描述可知,在进行权限校验之前,先获取应用文件的UID(UserIdentification,用户标识),如果UID在预设白名单内,则无需进行权限校验,直接通过接口调用请求,通过在出厂时设置白名单,在预设白名单内的应用文件无需权限校验,以此能满足特殊应用的厂商接口调用需求,提高厂商接口管理的灵活性和验证效率。
本发明上述的一种基于Android平台的接口管理方法及终端能够适用于Android平台的厂商内部接口管理,以下通过具体实施方式进行说明:
实施例一
请参照图1、4-6,本实施例的一种基于Android平台的接口管理方法,包括:
S01、接收应用文件的授权请求,所述授权请求包括应用文件、待调用接口、待调用接口权限和授权类型;
具体的,第一终端接收第二终端发送的应用文件的授权请求,所述授权请求包括应用文件、待调用接口、待调用接口权限和授权类型,如图4所示;
其中,所述应用文件为apk文件;
S02、根据所述应用文件使用预设CA证书中的私钥生成签名指纹;
在一种可选的实施方式中,所述第一终端根据所述应用文件使用预设CA证书中的私钥生成签名指纹;
S03、基于所述签名指纹、所述授权类型、所述应用文件、所述待调用接口和所述待调用接口权限生成与所述应用文件对应的授权证书,包括:
S031、解析所述应用文件,得到应用文件解析值;
具体的,计算apk文件的解析值,得到应用文件解析值;
S032、获取授权证书模板,根据所述签名指纹、所述授权类型、所述应用文件解析值、所述待调用接口和所述待调用接口权限填充所述授权证书模板,生成与所述应用文件对应的授权证书;
其中,所述授权类型包括正式或测试,所述授权证书模板包括第一字段、第二字段、第三字段和第四字段,所述第一字段表示该授权证书为正式证书或测试证书,所述第二字段表示所述应用文件的应用包名,所述第三字段表示所述应用文件对应的签名指纹,所述第四字段表示待调用接口和待调用接口权限;例如,所述第一字段对应的字段名为“1.3.6.1.4.1.25431.5.5”,值"1"表示正式证书,值为"0"表示测试证书;所述第二字段对应的字段名为“1.3.6.1.4.1.25431.5.6”,所述第三字段对应的字段名为“1.3.6.1.4.1.25431.5.7”,所述第四字段对应的字段名为“1.3.6.1.4.1.25431.5.8”;
例如,所述第一终端解析apk文件,得到应用文件解析值,即所述应用文件的应用包名,将所述应用包名填充至所述第二字段,若所述授权类型为正式,则将值“1”填充至所述第一字段,若所述授权类型为测试,则将值“0”填充值所述第一字段,将所述签名指纹填充至所述第三字段,将所述待调用接口及待调用接口权限填充至所述第四字段,以此将第二终端(即用户)申请的授权信息按照所述授权证书模板写入授权证书的扩展域中,所述授权证书文件格式为.crt证书格式;
S04、基于所述授权证书对所述应用文件进行授权,得到授权后的应用文件,具体包括:
S041、根据所述授权证书重构所述应用文件,得到重构后的应用文件;
具体的,所述第一终端将所述授权证书,即crt文件,放置于apk文件的assemble目录后重新打包,得到重构后的apk文件;
S042、计算所述重构后的应用文件的摘要,得到摘要信息;
S043、使用所述私钥对所述摘要信息进行签名,得到签名后的摘要信息;
具体的,所述第一终端根据所述授权证书中的包名使用所述私钥对所述摘要信息进行keystore签名(数字签名),得到签名后的摘要信息;
S044、将所述重构后的应用文件与所述签名后的摘要信息组合,得到授权后的应用文件;
具体的,所述第一终端将所述重构后的apk文件与所述签名后的摘要信息组合,得到授权后的apk文件,对比未授权的apk文件,授权后的apk文件增加变更了以下信息以便后续接口调用时的权限校验:
(1)增加了授权crt文件(即授权证书),文件的扩展域包含了用户所申请的接口权限等信息;
(2)开发者在授权请求中上传apk文件时,apk文件带有原生签名指纹,该原生签名指纹替换为颁发授权文件对应的签名指纹;
如图6所示,当应用文件需要调用厂商接口时,应用文件需要绑定厂商开放接口服务,发起接口调用请求,开放接口服务判断系统是否已开启权限效验功能,本发明设计效验的总功能可通过配置化形式在系统版本制作时决定该功能是否启用,或者,读取当前终端的状态(包括使用态、调试态、制造态、维修态),根据终端状态决定是否启用权限效验功能,当启用了权限校验功能时,在需要调用厂商接口时实施如下步骤:
S1、接收应用文件的接口调用请求,所述接口调用请求包括待调用接口和待调用接口权限;
S2、获取所述应用文件的UID;
S3、判断所述UID是否存在于预设白名单,若是,则通过所述接口调用请求,若否,则执行S4;
具体的,所述第一终端判断所述UID是否存在于预设白名单,若是,则通过所述接口调用请求,若否,则执行S4,所述预设白名单在出厂时便已定义,所述预设白名单内的UID对应的应用文件无需进行权限校验;
S4、根据所述接口调用请求读取所述应用文件对应的授权证书;
具体的,所述第一终端根据所述接口调用请求读取所述apk文件assemble目录对应的中的授权证书;
S5、使用预设CA证书对所述授权证书进行验证,若验证通过,则读取所述应用文件对应的待校验应用包名和待校验签名指纹;
具体的,所述第一终端使用预设CA证书对所述授权证书进行验证,若验证通过,则通过PackageManager(包管理器)读取所述apk文件对应的待校验应用包名和待校验签名指纹;
因加密过程中是通过预设CA证书得到授权证书中的签名指纹,故在验证时也利用预设CA证书对授权证书进行验证;
S6、基于所述授权证书对所述待校验应用包名和所述待校验签名指纹进行校验,若校验通过,则判断所述待调用接口权限是否属于预设接口权限范围,若是,则通过所述接口调用请求;
具体的,所述第一终端从所述授权证书的扩展域中读取所述应用文件对应的应用包名和签名指纹,另外还可读取其中的其他信息,比如证书类型和证书权限集(即待调用权限)等,判断读取的所述应用包名和签名指纹与所述待校验应用包名和所述待校验签名指纹是否一致,若一致,则校验通过,判断所述待调用接口权限是否属于预设接口权限范围,若是,则通过所述接口调用请求,若不一致,则执行S7;
其中,所述预设接口权限范围预置在apiConfigs.Xml文件中,格式如图5所示;
S7、判断所述证书类型是否为测试证书,若是,则通过所述接口调用请求,并输出警告提示,若否,则不通过所述接口调用请求;
通过判断证书类型,当证书类型为测试证书时还是允许接口调用,以便开发调试环节使用。
实施例二
请参照图1、3,本实施例在实施例一的基础上进一步限定了进行授权时步骤实施的各个端,具体为:
如图3所示,所述第一终端包括客户端、授权申请模块、授权审核模块、证书模块、APK处理模块、签名模块、签名中转服务器和签名服务器;
S01、所述客户端接收应用文件的授权请求,所述授权请求包括应用文件、待调用接口、待调用接口权限和授权类型;
具体的,所述第二终端向所述授权申请模块发送应用文件的授权请求,所述授权申请模块将所述授权请求发送给所述客户端,管理员通过所述客户端接收应用文件的授权请求,并审核所述授权请求;
只有经过授权的客户端才有权限执行审核,客户端的授权方式为:授权的客户端的PC预置一本预设CA证书,其中包括私钥,这本证书对应的公钥、PC的MAC地址、PC的IP地址上送到签名中转服务器保存,作为身份认证信息;
所述客户端审核通过后,生成与所述授权请求对应的审核结果,将审核结果发送至所述授权审核模块,所述授权审核模块根据审核结果发送与所述授权请求对应的授权证书申请请求至所述证书模块;
S02、根据所述应用文件使用预设CA证书中的私钥生成签名指纹;
具体的,如图3所示,所述证书模块接收所述授权证书申请请求后,通过所述APK处理模块发送与所述授权请求对应的签名申请请求至所述签名模块,所述签名模块将所述签名申请请求发送至所述签名中转服务器,所述签名中转服务器转发至所述签名服务器,所述签名服务器根据所述应用文件使用预设CA证书中的私钥生成签名指纹,并将签名指纹返回至所述APK处理模块;
在一种可选的实施方式中,所述签名申请请求包括经过所述私钥加密后的签名效验字串,所述签名效验字串包含PC的MAC地址、IP地址等信息,所述中转服务器接收所述签名申请请求后使用保存的所述公钥解密所述签名效验字串,得到PC的MAC地址、IP地址,与保存的所述公钥对应的PC的MAC地址、PC的IP地址进行比较,以此确认是在授权客户端上发起所述授权申请的;
设计签名中转服务器来处理签名申请及证书申请的转发业务,将需要签哪一类签名、需要签哪个文件,需要颁发测试证书还是正式证书等判断,以及权限管理等业务流程较为繁杂的操作由签名中转服务器处理,所述签名服务器则纯粹的处理文件签名,增加了安全性,此外,设计签名中转服务器,当不同的签名服务器异地或跨部门管理时,可以更加灵活;
S03、基于所述签名指纹、所述授权类型、所述应用文件、所述待调用接口和所述待调用接口权限生成与所述应用文件对应的授权证书;
S031、所述证书模块解析所述应用文件,得到应用文件解析值;
S032、所述证书模块根据所述授权证书申请请求通过所述签名中转服务器向所述签名服务器申请授权证书,获取授权证书模板,根据所述签名指纹、所述授权类型、所述应用文件解析值、所述待调用接口和所述待调用接口权限填充所述授权证书模板,生成与所述应用文件对应的授权证书;
所述证书模块将所述授权证书发送至所述APK处理模块;
S04、所述APK处理模块基于所述授权证书对所述应用文件进行授权,得到授权后的应用文件,具体包括:
S041、所述APK处理模块根据所述授权证书重构所述应用文件,得到重构后的应用文件;
S042、所述APK处理模块计算所述重构后的应用文件的摘要,得到摘要信息;
所述APK处理模块通过所述签名中转服务器向所述签名服务器发送与所述授权请求对应的摘要签名请求;
S043、所述签名服务器使用所述私钥对所述摘要信息进行签名,得到签名后的摘要信息;
所述签名服务器返回所述签名后的摘要信息至所述APK处理模块;
S044、所述APK处理模块将所述重构后的应用文件与所述签名后的摘要信息组合,得到授权后的应用文件。
实施例三
请参照图2,一种基于Android平台的接口管理终端(即实施例中第一终端),包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一或实施例二中的基于Android平台的接口管理方法中的各个步骤。
综上所述,本发明提供的一种基于Android平台的接口管理方法及终端,在应用文件进行接口调用之前,根据应用文件使用预设CA证书中的私钥生成签名指纹;基于签名指纹、授权类型、应用文件、待调用接口和待调用接口权限生成授权证书;基于授权证书对应用文件进行授权,得到授权后的应用文件,实现了应用文件的授权,与未授权的应用文件相比,授权后的应用文件中包含了用户所申请的接口及接口权限等信息,并且还包括了应用文件本身的信息,便于在应用文件进行接口调用时,对应用文件进行接口调用的权限校验;接口调用时,根据接收的应用文件的接口调用请求读取应用文件对应的授权证书,使用预设CA证书对授权证书进行验证,若验证通过,则读取应用文件对应的应用包名和签名指纹,基于授权证书对待校验应用包名和待校验签名指纹进行校验,若校验通过,则判断待调用接口权限是否属于预设接口权限范围,若是,则允许应用文件调用待调用接口,为每一应用文件授权一个授权证书,使用预设CA证书对授权证书进行验证,以确保授权证书的有效性,授权证书有效则基于授权证书对读取到的应用包名和签名指纹进行校验,校验通过后若待调用接口权限属于预设接口权限范围,则允许调用待调用接口,即对应用的接口调用请求进行了三重校验,在确保了厂商接口安全的情况下,实现对厂商接口的有序调用,从而安全有效地实现厂商接口的管理。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于Android平台的接口管理方法,其特征在于,包括:
接收应用文件的接口调用请求,所述接口调用请求包括待调用接口和待调用接口权限;
根据所述接口调用请求读取所述应用文件对应的授权证书;
使用预设CA证书对所述授权证书进行验证,若验证通过,则读取所述应用文件对应的待校验应用包名和待校验签名指纹;
基于所述授权证书对所述待校验应用包名和所述待校验签名指纹进行校验,若校验通过,则判断所述待调用接口权限是否属于预设接口权限范围,若是,则通过所述接口调用请求;
所述接收应用文件的接口调用请求之前包括:
接收应用文件的授权请求,所述授权请求包括应用文件、待调用接口、待调用接口权限和授权类型;
根据所述应用文件使用预设CA证书中的私钥生成签名指纹;
基于所述签名指纹、所述授权类型、所述应用文件、所述待调用接口和所述待调用接口权限生成与所述应用文件对应的授权证书;
基于所述授权证书对所述应用文件进行授权,得到授权后的应用文件。
2.根据权利要求1所述的一种基于Android平台的接口管理方法,其特征在于,所述基于所述签名指纹、所述授权类型、所述应用文件、所述待调用接口和所述待调用接口权限生成与所述应用文件对应的授权证书包括:
解析所述应用文件,得到应用文件解析值;
获取授权证书模板,根据所述签名指纹、所述授权类型、所述应用文件解析值、所述待调用接口和所述待调用接口权限填充所述授权证书模板,生成与所述应用文件对应的授权证书。
3.根据权利要求1所述的一种基于Android平台的接口管理方法,其特征在于,所述基于所述授权证书对所述应用文件进行授权,得到授权后的应用文件包括:
根据所述授权证书重构所述应用文件,得到重构后的应用文件;
计算所述重构后的应用文件的摘要,得到摘要信息;
使用所述私钥对所述摘要信息进行签名,得到签名后的摘要信息;
将所述重构后的应用文件与所述签名后的摘要信息组合,得到授权后的应用文件。
4.根据权利要求1所述的一种基于Android平台的接口管理方法,其特征在于,所述根据所述接口调用请求读取所述应用文件对应的授权证书之前包括:
获取所述应用文件的UID;
判断所述UID是否存在于预设白名单,若是,则通过所述接口调用请求,若否,则执行所述根据所述接口调用请求读取所述应用文件对应的授权证书步骤。
5.一种基于Android平台的接口管理终端,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
接收应用文件的接口调用请求,所述接口调用请求包括待调用接口和待调用接口权限;
根据所述接口调用请求读取所述应用文件对应的授权证书;
使用预设CA证书对所述授权证书进行验证,若验证通过,则读取所述应用文件对应的待校验应用包名和待校验签名指纹;
基于所述授权证书对所述待校验应用包名和所述待校验签名指纹进行校验,若校验通过,则判断所述待调用接口权限是否属于预设接口权限范围,若是,则通过所述接口调用请求;
所述接收应用文件的接口调用请求之前包括:
接收应用文件的授权请求,所述授权请求包括应用文件、待调用接口、待调用接口权限和授权类型;
根据所述应用文件使用预设CA证书中的私钥生成签名指纹;
基于所述签名指纹、所述授权类型、所述应用文件、所述待调用接口和所述待调用接口权限生成与所述应用文件对应的授权证书;
基于所述授权证书对所述应用文件进行授权,得到授权后的应用文件。
6.根据权利要求5所述的一种基于Android平台的接口管理终端,其特征在于,所述基于所述签名指纹、所述授权类型、所述应用文件、所述待调用接口和所述待调用接口权限生成与所述应用文件对应的授权证书包括:
解析所述应用文件,得到应用文件解析值;
获取授权证书模板,根据所述签名指纹、所述授权类型、所述应用文件解析值、所述待调用接口和所述待调用接口权限填充所述授权证书模板,生成与所述应用文件对应的授权证书。
7.根据权利要求5所述的一种基于Android平台的接口管理终端,其特征在于,所述基于所述授权证书对所述应用文件进行授权,得到授权后的应用文件包括:
根据所述授权证书重构所述应用文件,得到重构后的应用文件;
计算所述重构后的应用文件的摘要,得到摘要信息;
使用所述私钥对所述摘要信息进行签名,得到签名后的摘要信息;
将所述重构后的应用文件与所述签名后的摘要信息组合,得到授权后的应用文件。
8.根据权利要求5所述的一种基于Android平台的接口管理终端,其特征在于,所述根据所述接口调用请求读取所述应用文件对应的授权证书之前包括:
获取所述应用文件的UID;
判断所述UID是否存在于预设白名单,若是,则通过所述接口调用请求,若否,则执行所述根据所述接口调用请求读取所述应用文件对应的授权证书步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111623119.0A CN114301601B (zh) | 2021-12-28 | 2021-12-28 | 一种基于Android平台的接口管理方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111623119.0A CN114301601B (zh) | 2021-12-28 | 2021-12-28 | 一种基于Android平台的接口管理方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114301601A CN114301601A (zh) | 2022-04-08 |
CN114301601B true CN114301601B (zh) | 2023-11-03 |
Family
ID=80970667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111623119.0A Active CN114301601B (zh) | 2021-12-28 | 2021-12-28 | 一种基于Android平台的接口管理方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114301601B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944903A (zh) * | 2014-04-23 | 2014-07-23 | 福建联迪商用设备有限公司 | 一种多方授权的apk签名方法及系统 |
CN105391717A (zh) * | 2015-11-13 | 2016-03-09 | 福建联迪商用设备有限公司 | 一种apk签名认证方法及其系统 |
US10263789B1 (en) * | 2016-03-28 | 2019-04-16 | Amazon Technologies, Inc. | Auto-generation of security certificate |
WO2020233308A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 基于本地证书的自校验方法、装置、设备及存储介质 |
CN112835612A (zh) * | 2021-01-26 | 2021-05-25 | 平衡机器科技(深圳)有限公司 | 一种基于区块链的电子文档版本管理方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6965994B1 (en) * | 2001-01-30 | 2005-11-15 | Microsoft Corporation | Security mechanism for computer processing modules |
CN110532766B (zh) * | 2018-05-25 | 2023-09-08 | 华为技术有限公司 | 一种基于多容器的可信应用程序的处理方法及相关设备 |
-
2021
- 2021-12-28 CN CN202111623119.0A patent/CN114301601B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103944903A (zh) * | 2014-04-23 | 2014-07-23 | 福建联迪商用设备有限公司 | 一种多方授权的apk签名方法及系统 |
CN105391717A (zh) * | 2015-11-13 | 2016-03-09 | 福建联迪商用设备有限公司 | 一种apk签名认证方法及其系统 |
US10263789B1 (en) * | 2016-03-28 | 2019-04-16 | Amazon Technologies, Inc. | Auto-generation of security certificate |
WO2020233308A1 (zh) * | 2019-05-22 | 2020-11-26 | 深圳壹账通智能科技有限公司 | 基于本地证书的自校验方法、装置、设备及存储介质 |
CN112835612A (zh) * | 2021-01-26 | 2021-05-25 | 平衡机器科技(深圳)有限公司 | 一种基于区块链的电子文档版本管理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114301601A (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9064129B2 (en) | Managing data | |
US20050166051A1 (en) | System and method for certification of a secure platform | |
CN112000951B (zh) | 一种访问方法、装置、系统、电子设备及存储介质 | |
US12074990B2 (en) | Database multi-authentication method and system, terminal, and storage medium | |
CN106156635A (zh) | 终端启动方法和装置 | |
CN108496323B (zh) | 一种证书导入方法及终端 | |
CN115701019A (zh) | 零信任网络的访问请求处理方法、装置及电子设备 | |
CN112765637A (zh) | 数据处理方法、密码服务装置和电子设备 | |
CN115580413B (zh) | 一种零信任的多方数据融合计算方法和装置 | |
CN113282946A (zh) | 基于高可信环境下数据访问过程的信息安全方法及系统 | |
CN111460410A (zh) | 服务器登录方法、装置、系统与计算机可读存储介质 | |
US9122864B2 (en) | Method and apparatus for transitive program verification | |
CN111147259B (zh) | 鉴权方法和设备 | |
CN115514492A (zh) | Bios固件验证方法、装置、服务器、存储介质和程序产品 | |
CN111970117B (zh) | 证书下载方法、装置及设备 | |
US20090210719A1 (en) | Communication control method of determining whether communication is permitted/not permitted, and computer-readable recording medium recording communication control program | |
CN114301601B (zh) | 一种基于Android平台的接口管理方法及终端 | |
CN113868628B (zh) | 一种签名验证方法、装置、计算机设备和存储介质 | |
CN113297563B (zh) | 访问片上系统特权资源的方法、装置及片上系统 | |
CN115509556A (zh) | 一种应用管理方法、装置、设备及介质 | |
KR20160109241A (ko) | 리소스의 안전성 검증 장치와 서버 및 검증방법 | |
CN115225350A (zh) | 基于国密证书的政务云加密登录验证方法及存储介质 | |
CN117063174A (zh) | 用于通过基于app的身份的app间相互信任的安全模块及方法 | |
CN112995325A (zh) | 服务调试方法、调试服务、电子设备及计算机存储介质 | |
KR102378989B1 (ko) | 산업제어시스템 운영 환경을 고려한 취약점 시험 결과 확인 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 201-9, Zone C, No. 18 Guanri Road, Phase II, Software Park, Torch High tech Zone, Xiamen City, Fujian Province, 361000 Applicant after: Fujian Huisibo Digital Technology Co.,Ltd. Address before: No. 89 Software Avenue, Tongpan Road, Gulou District, Fuzhou City, Fujian Province, 350000. 510, Floor 5, 34 #, Zone C, Fuzhou Software Park Applicant before: FUZHOU HUISIBO INFORMATION TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |