CN115982695A - 一种应用安装方法及装置 - Google Patents

一种应用安装方法及装置 Download PDF

Info

Publication number
CN115982695A
CN115982695A CN202111204793.5A CN202111204793A CN115982695A CN 115982695 A CN115982695 A CN 115982695A CN 202111204793 A CN202111204793 A CN 202111204793A CN 115982695 A CN115982695 A CN 115982695A
Authority
CN
China
Prior art keywords
installation package
verification
installation
application
information
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.)
Pending
Application number
CN202111204793.5A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202111204793.5A priority Critical patent/CN115982695A/zh
Publication of CN115982695A publication Critical patent/CN115982695A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请涉及一种应用安装方法及装置,所述方法应用于第一设备,所述方法包括:获取应用的安装包;对所述安装包进行验证;在所述验证通过的情况下,向第二设备发送第一消息,所述第一消息用于指示所述第二设备在所述安装包的完整性校验通过的情况下,直接发起针对所述安装包的安装。本申请实施例提供的应用安装方法及装置能够提高安装应用的速度以及安装应用过程中安装应用的设备的运行流畅性。

Description

一种应用安装方法及装置
技术领域
本申请涉及终端技术领域,尤其涉及一种应用安装方法及装置。
背景技术
随着万物互联时代的到来,诸如运动手表、手环和智能摄像头等轻量级设备得到了更广泛的使用。这些轻量级设备上可安装各种应用。应用的功能越丰富,其安装包越大,因此,安装应用耗费的时间也就越长。
目前,轻量级设备应用安装过程包括:轻量级设备从手机等智能设备接收应用的安装包;轻量级设备上会弹出安装确认提示框,提示用户进行安装确认;用户确认后,轻量级设备对安装包进行完整性校验、签名验证以及证书验证;在验证通过后,轻量级设备发起安装包的安装,进行安装包数据等目录的创建;安装完成后,轻量级设备可以发送安装成功通知到智能设备。
上述安装过程占用了轻量级设备较多运算资源,而轻量级设备的运算资源有限,这就导致了安装过程时间较长,且降低了安装过程中轻量级设备运行的流畅性,对用户体验不够友好。如何提高轻量级设备安装应用的速度以及安装应用过程中的运行流畅性是亟待解决的问题。
发明内容
有鉴于此,提出了一种应用安装方法及装置,能够提高安装应用的速度以及安装应用过程中安装应用的设备的运行流畅性。
第一方面,本申请的实施例提供了一种应用安装方法,所述方法应用于第一设备,所述方法包括:获取应用的安装包;对所述安装包进行验证;在所述验证通过的情况下,向第二设备发送第一消息,所述第一消息用于指示所述第二设备在所述安装包的完整性校验通过的情况下,直接发起针对所述安装包的安装。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,所述方法还包括:在与所述第二设备建立连接的情况下,向所述第二设备发送所述第一设备的安全等级信息和计算能力信息,以使所述第二设备基于所述第一设备的安全等级信息和计算能力信息确定安装包验证策略;接收所述第二设备返回的安装包验证策略。
在本申请实施例中,基于第一设备的安全等级信息和计算能力信息,确定安装包验证策略,可以更好的利用第一设备的资源,提高安全性和计算能力使用效率。
在一种可能的实现方式中,所述第二设备返回的安装包验证策略为第一策略,所述第一策略用于指示所述安装包的验证信息由所述第二设备提取且所述安装包由所述第一设备进行验证,在所述对所述安装包进行验证之前,所述方法还包括:
向所述第二设备发送所述安装包;
所述对所述安装包进行验证包括:
接收所述第二设备返回的所述安装包的验证信息;
基于所述验证信息,对所述安装包进行验证。
在本申请实施例中,将安装包的验证交由第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,所述第二设备返回的安装包验证策略为第二策略,所述第二策略用于指示所述安装包的验证信息由所述第一设备提取且所述安装包由所述第一设备进行验证,所述对所述安装包进行验证,包括:
对所述安装包进行解包,以提取出所述安装包的验证信息;
基于所述验证信息,对所述安装包进行验证;
所述方法还包括:
在所述验证通过的情况下,对解包后的安装包进行打包处理,重新获得所述安装包,并向所述第二设备发送重新获得的安装包。
在本申请实施例中,将验证信息的获取以及安装包的验证均交由第一设备进行处理,从而进一步降低了对第二设备资源的占用,进一步提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,所述验证消息包括签名和证书,所述基于所述验证信息,对所述安装包进行验证,包括:
对所述签名和所述证书分别进行验证。
在本申请实施例中,通过对签名进行验证可以保障安装包内容的可靠性,从而提高安全性;通过对证书进行验证可以保障安装包来源的可靠性,从而提高安全性。
第二方面,本申请的实施例提供了一种应用安装方法,所述方法应用于第二设备,所述方法包括:对获取的应用的安装包进行完整性校验;在确定接收到了第一消息且所述安装包的完整性校验通过的情况下,发起针对所述安装包的安装,所述第一消息用于指示所述安装包已通过第一设备的验证。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,第二设备在确认安装包已通过第一设备的验证且安装包的完整性校验通过的情况下,无需对安装包进行验证,即可直接发起针对安装包的安装,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,所述方法还包括:在与所述第一设备建立连接的情况下,接收所述第一设备发送的第一设备的安全等级信息和计算能力信息;基于所述安全等级信息和所述计算能力信息确定安装包验证策略;将所述安装包验证策略发送至所述第一设备。
在本申请实施例中,基于第一设备的安全等级信息和计算能力信息,确定安装包验证策略,可以更好的利用第一设备的资源,提高安全性和计算能力使用效率。
在一种可能的实现方式中,所述安装包验证策略为第一策略,所述第一策略用于指示所述安装包的验证信息由所述第二设备提取且所述安装包由所述第一设备进行验证;
在所述对获取的应用的安装包进行完整性校验之前,所述方法还包括:
接收所述第一设备发送的所述安装包;
在所述对获取的应用的安装包进行完整性校验之后,所述方法还包括:
在所述完整性校验通过的情况下,从所述安装包中提取所述安装包的验证信息;
向所述第一设备发送所述验证信息,以便于所述第一设备基于所述验证信息,对所述安装包进行验证;
接收所述第一设备发送的所述第一消息。
在本申请实施例中,将安装包的验证交由第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,所述安装包验证策略为第二策略,所述第二策略用于指示所述安装包的验证信息由所述第一设备提取且所述安装包由所述第一设备进行验证;
在所述对获取的应用的安装包进行完整性校验之前,所述方法还包括:
接收所述第一设备发送的所述安装包以及所述第一消息。
在本申请实施例中,将验证信息的获取以及安装包的验证均交由第一设备进行处理,从而进一步降低了对第二设备资源的占用,进一步提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,所述验证信息包括签名和证书。
在本申请实施例中,通过对签名进行验证可以保障安装包内容的可靠性,从而提高安全性;通过对证书进行验证可以保障安装包来源的可靠性,从而提高安全性。
第三方面,本申请实施例提供了一种应用安装装置,所述装置包括:
获取模块,用于获取应用的安装包;
验证模块,用于对所述获取模块获取的安装包进行验证;
第一发送模块,用于在所述验证模块验证通过的情况下,向第二设备发送第一消息,所述第一消息用于指示所述第二设备在所述安装包的完整性校验通过的情况下,直接发起针对所述安装包的安装。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,所述装置还包括:
第二发送模块,用于在与所述第二设备建立连接的情况下,向所述第二设备发送所述第一设备的安全等级信息和计算能力信息,以使所述第二设备基于所述第一设备的安全等级信息和计算能力信息确定安装包验证策略;
接收模块,用于接收所述第二设备返回的安装包验证策略。
在一种可能的实现方式中,所述第二设备返回的安装包验证策略为第一策略,所述第一策略用于指示所述安装包的验证信息由所述第二设备提取且所述安装包由所述第一设备进行验证,所述装置还包括:
第三发送模块,用于向所述第二设备发送所述安装包;
所述验证模块具体用于:
接收所述第二设备返回的所述安装包的验证信息;
基于所述验证信息,对所述安装包进行验证。
在一种可能的实现方式中,所述第二设备返回的安装包验证策略为第二策略,所述第二策略用于指示所述安装包的验证信息由所述第一设备提取且所述安装包由所述第一设备进行验证,所述验证模块具体用于:
对所述安装包进行解包,以提取出所述安装包的验证信息;
基于所述验证信息,对所述安装包进行验证;
所述装置还包括:
打包模块,用于在所述验证通过的情况下,对解包后的安装包进行打包处理,重新获得所述安装包,并向所述第二设备发送重新获得的安装包。
在一种可能的实现方式中,所述验证消息包括签名和证书,所述验证模块具体用于:
对所述签名和所述证书分别进行验证。
第四方面,本申请实施例提供了一种应用安装装置,所述装置包括:
校验模块,用于对获取的应用的安装包进行完整性校验;
安装模块,用于在确定接收到了第一消息且所述校验模块对安装包的完整性校验通过的情况下,发起针对所述安装包的安装,所述第一消息用于指示所述安装包已通过第一设备的验证。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,所述装置还包括:
第一接收模块,用于在与所述第一设备建立连接的情况下,接收所述第一设备发送的第一设备的安全等级信息和计算能力信息;
确定模块,用于基于所述安全等级信息和所述计算能力信息确定安装包验证策略;
第一发送模块,用于将所述安装包验证策略发送至所述第一设备。
在一种可能的实现方式中,所述安装包验证策略为第一策略,所述第一策略用于指示所述安装包的验证信息由所述第二设备提取且所述安装包由所述第一设备进行验证,所述装置还包括:
第二接收模块,用于接收所述第一设备发送的所述安装包;
提取模块,用于在所述完整性校验通过的情况下,从所述安装包中提取所述安装包的验证信息;
第二发送模块,用于向所述第一设备发送所述验证信息,以便于所述第一设备基于所述验证信息,对所述安装包进行验证;
第三接收模块,用于接收所述第一设备发送的所述第一消息。
在一种可能的实现方式中,所述安装包验证策略为第二策略,所述第二策略用于指示所述安装包的验证信息由所述第一设备提取且所述安装包由所述第一设备进行验证,所述装置还包括:
第四接收模块,用于接收所述第一设备发送的所述安装包以及所述第一消息。
在一种可能的实现方式中,所述验证信息包括签名和证书。
第五方面,本申请的实施例提供了一种电子设备,该终端设备可以执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的应用安装方法,或者执行上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的应用安装方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的应用安装方法,或者实现上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的应用安装方法。
第七方面,本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行上述第一方面或者第一方面的多种可能的实现方式中的一种或几种的应用安装方法,或者执行上述第二方面或者第二方面的多种可能的实现方式中的一种或几种的应用安装方法。
本申请的这些和其他方面在以下(多个)实施例的描述中会更加简明易懂。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出本申请实施例提供的应用安装方法的应用场景示意图;
图2示出本申请实施例提供的通信系统的架构示意图;
图3示出本申请实施例提供的应用安装方法的流程图;
图4示出本申请实施例提供的应用安装方法的流程图;
图5示出了本申请实施例提供的应用安装方法的交互流程图;
图6示出了本申请实施例提供的应用安装方法的交互流程图;
图7示出了本申请实施例提供的应用安装方法的交互流程图;
图8示出了本申请实施例提供的应用安装方法的交互流程图;
图9示出了本申请实施例提供的应用安装装置的结构示意图;
图10示出了本申请实施例提供的应用安装装置的结构示意图;
图11示出了本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
在应用的安装过程中,安装包的签名验证以及证书验证等步骤需要使用复杂的加解密算法,占用的运算资源较多,若由运算资源有限的轻量级设备完成这些步骤,则会导致安装时间较长,以及安装过程中轻量级设备运行的流畅性降低的情况的出现。本申请实施例提供了一种应用安装方法,将应用的安装流程进行拆分,把安装包的签名验证以及证书验证交由运算资源较充足的智能设备处理,减少了轻量级设备上执行的步骤以及对轻量级设备上运算资源的占用,从而提高了轻量级设备安装应用的速度以及安装应用过程中的运行流畅性,提升了用户体验。
图1示出本申请实施例提供的应用安装方法的应用场景示意图。如图1所示,平板电脑11、手机12以及笔记本电脑17等运算资源较为充足的智能设备,可以与路由器14、无线耳机15、智能手表16以及智能摄像头17等运算资源有限的轻量级设备建立无线通信连接。举例来说,短距离通信技术包括但不限于蓝牙技术、超宽带(Ultra Wide Band,UWB)技术、ZigBee(一种低速的短距离无线通信技术)以及无线保真(Wireless Fidelity,WiFi)技术等。在智能设备与轻量级设备之间建立连接之后,智能设备可以向轻量级设备提供应用的安装包,以供轻量级设备进行安装。本申请实施例提供的应用安装方法,在上述轻量级设备安装应用的过程中,将安装包的签名验证以及证书验证交由运算资源较充足的智能设备处理,从而提高了轻量级设备安装应用的速度以及安装应用过程中的运行流畅性,提升了用户体验。
图2示出本申请实施例提供的通信系统的架构示意图。如图2所示,该通信系统包括第一设备21和第二设备22。其中,第一设备21包括但不限于图1所示的智能设备。第二设备22包括但不限于图1所示的轻量级设备。可以理解的是,以上仅为第一设备和第二设备的示例性举例,并不限制第一设备和第二设备,第一设备和第二设备还可以为其他设备。例如,第一设备21还可以包括台式计算机、车载智能设备等,第二设备还可以包括智能家电(如冰箱、电饭煲、空调和洗衣机等)、智能插座以及传感器等。
如图2所示,第一设备21可以获取应用的安装包,并对安装包进行验证;在验证通过的情况下,第一设备21可以向第二设备22发送第一消息。第二设备22可以从第一设备21获取应用的安装包。之后,第二设备22可以对获取的安装包进行完整性校验。在接收到第一消息的情况下,表明第二设备22从第一设备21获取的应用的安装包已经通过了第一设备21的验证,此时,若第二设备22确定该安装包的完整性校验通过,则可以发起针对该安装包的安装。在本申请实施例中,由第一设备21对第二设备22上将要安装的应用的安装包进行验证,减少应用安装过程中第二设备22上执行的操作,节省了第二设备22的资源,从而提高了安装应用的速度以及在安装应用过程中第二设备22运行的流畅性。
图3示出本申请实施例提供的应用安装方法的流程图。该方法可以应用于图2所示的第一设备21。如图3所示,该方法可以包括:
步骤S301,获取应用的安装包。
第一设备上的应用商店、网页或者小程序等可以提供各种应用的下载链接。这些应用除了可以安装在第一设备上,也可以安装在与第一设备建立了连接的第二设备上。用户想要在第二设备安装应用时,可以在第一设备上点击应用的下载链接,将应用的安装包下载至第一设备,进而通过第一设备在第二设备上完成应用的安装。举例来说,用户可以通过智能手机在智能手表上安装导航、天气和游戏等应用,以及通过智能手机在智能音箱上安装音乐播放器和家电控制器等应用。在本步骤中,第一设备获取的安装包为需要安装在第二设备上的应用的安装包,本申请实施例中,对需要安装在第二设备的应用不做限制,对应用的安装包的格式不做限制,对第一设备获取应用的安装包的方式不做限制。
步骤S302,对所述安装包进行验证。
为了提高安全性,在对应用的安装包进行安装之前,需要对安装包进行验证,以确定安装包是否可靠,例如安装包的来源是否安全可靠,以及安装包的内容是否被篡改。在本申请实施例中,由第一设备对需要安装在第二设备的应用的安装包进行验证。
在一种可能的实现方式中,第一设备可以将安装包发送至第二设备;第二设备接收到安装包后,可以对安装包进行完整性校验;在完整性校验通过的情况下,第二设备可以从安装包中提取验证信息,并将提取的验证信息返回至第一设备;之后,第一设备可以基于接收到的验证信息对安装包进行验证。这样,将安装包的验证交由第一设备进行处理,可以降低对第二设备资源的占用,提高应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,第一设备可以在获取到安装包之后,先从安装包中提取验证信息,对安装包进行验证,并在验证通过的情况下,再将安装包发送至第二设备。这样,除了安装包的验证交由第一设备进行处理,还将验证信息的提取交由第一设备进行处理,可以进一步降低对第二设备资源的占用,进一步提高应用的安装速度以及安装过程中第二设备运行的流畅性。同时,省去了验证信息的传输,可以节省通信资源。另外,在验证未通过的情况下,第一设备无需向第二设备发送安装包,可以减少无效数据的传输,进一步节省通信资源以及第二设备的存储资源。
在一种可能的实现方式中,验证信息可以包括签名和证书,第一设备基于验证信息对安装包进行验证可以包括第一设备对签名和证书分别进行验证。
其中,证书可以用于确认安装包的来源是否可靠,签名可以用于确认安装包的内容是否可靠。在签名和证书均验证通过的情况下,第一设备可以确定安装包验证通过。在签名和证书中的一者验证未通过,或者签名和证书均验证未通过的情况下,第一设备可以确定安装包验证未通过。
证书是由证书认证机构(CA)对证书申请者真实身份验证之后,用CA的根证书对申请人的一些基本信息以及申请人的公钥进行签名后形成的一个数字文件。CA完成签发证书后,会将证书发布在CA的证书库(目录服务器)中,供下载和查询。实际上,证书就是经过CA认证过的公钥。在证书验证通过的情况下,表明安装包的来源可靠;在证书验证未通过的情况下,表明该安装包来源有风险。在一个示例中,证书包括但不限于国家认证机构发布的根证书和基于生态联盟认证机构颁发的根证书等中的一者或多者。这些证书可以保障安装包的发布者是经过认证机构认证的,防止恶意应用,从而提高安全性。签名可以用于确认安装包的内容是否可靠。在签名验证通过的情况下,表明安装包的内容未被篡改,安装包的内容是可靠的;在签名验证未通过的情况下,表明安装包的内容被篡改,安装包的内容不可靠。在一个示例中,签名可以包括当不限于信息摘录(例如,使用hash函数来计算信息摘录)和数字签名等中的一者或多者。这些签名可以保障被保护的数据(即安装包)发生变化时可以被检测到,防止消息腐败和消息插入等,从而提高安全性。
在一个示例中,第一设备可以根据本地保存的CA证书对安装包的证书进行验证,在本地保存的CA证书与安装包的证书匹配的情况下,确定安装包的证书验证通过。证书验证通过之后,第一设备可以基于安装包的证书获取公钥。第一设备可以对安装包进行信息摘录处理得到第一摘要;采用公钥对安装包的签名进行解密处理得到第二摘要;在第一摘要和第二摘要相同的情况下,第一设备可以确定安装包的签名验证通过。至此,安装包的证书和签名均验证通过,第一设备可以确定安装包验证通过。
步骤S303,在所述验证通过的情况下,向第二设备发送第一消息,所述第一消息用于指示所述第二设备在所述安装包的完整性校验通过的情况下,直接发起针对所述安装包的安装。
在验证通过的情况下,第一设备可以生成第一消息,并向第二设备发送第一消息。由于第一消息是第一设备在安装包验证通过的情况下生成并发送的,因此第一消息可以用于表示应用的安装包已经通过了第一设备的验证。第二设备接收到第一消息后,可以确定安装包已验证通过,无需再次对安装包进行验证。考虑到安装包在从第一设备传输到第二设备的过程中,也可能会出现数据丢失、误码或者被篡改等问题,因此,第二设备仍然需要对安装包的完整性进行校验,并在接收到第一消息且安装包的完整性校验通过的情况下,直接发起针对安装包的安装。其中,完整性校验包括且不限于循环冗余(CyclicRedundancy Check,CRC)校验、奇偶校验、MD5算法等中的一者或多者。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,所述方法还包括:在所述验证未通过的情况下,向第二设备发送第二消息。第二消息可以用于指示安装包未通过第一设备的验证。此时,若第一设备尚未向第二设备发送应用的安装包,则第一设备可以不用向第二设备发送安装包,以节省传输资源和第二设备的存储资源。若第一设备已经向第二设备发送了应用的安装包,则第二设备在接收到第二消息之后,可以删除安装包,以节省存储资源。
图4示出本申请实施例提供的应用安装方法的流程图。该方法可以应用于图2所示的第二设备22。如图4所示,该方法可以包括:
步骤S401,对获取的应用的安装包进行完整性校验。
步骤S402,在确定接收到了第一消息且所述安装包的完整性校验通过的情况下,发起针对所述安装包的安装,所述第一消息用于指示所述安装包已通过第一设备的验证。
第二设备对安装包进行完整性校验是为了检查安装包在传输过程中是否出现数据丢失、误码或者被篡改等问题。安装包完整性校验通过的情况下,才能正确安装。安装包完整性校验未通过的情况下,应用无法安装成功,第二设备需要重新获取安装包。
在步骤S401中,第二设备获取的安装包可以是已通过验证的,也可以是尚未进行验证的。若第二设备接收到了第一消息,表明第二设备获取到的安装包是已通过第一设备验证的,此时第二设备可以执行步骤S402,发起针对安装包的安装。若第二设备未接收到第一消息,表明第二设备获取到的安装包是尚未通过第一设备验证的,此时第二设备可以从安装包中获取验证信息,将验证信息返回至第一设备,由第一设备基于该验证信息对安装包进行验证。第一设备对安装包验证通过后,会向第二设备发送第一消息。此时,第二设备可以确定满足步骤S402中的接收到第一消息且安装包的完整性校验通过的条件,因此可以发起针对安装包的安装。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,第二设备在确认安装包已通过第一设备的验证且安装包的完整性校验通过的情况下,无需对安装包进行验证,即可直接发起针对安装包的安装,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
需要说明的是,在本申请实施例中,对第一设备向第二设备发送第一消息和安装包的顺序不做限制。在一个示例中,第一设备可以先向第二设备发送安装包,在基于第二设备返回的验证消息对安装包验证通过后,再向第二设备发送第一消息。在又一示例中,第一设备可以在获取到安装包之后,先对安装包进行验证,在验证通过后,再向第二设备发送第一消息以及安装包,此时,可以先发送第一消息再发送安装包,也可以先发送安装包再发送第一消息,也可以同时发送安装包和第一消息(例如,第一消息中可以携带安装包,或者第一消息和安装包可以封装在一个数据报文中等)。
考虑到不同的第一设备的安全等级和计算能力不同,为了提高安全性和计算能力使用效率,在本申请实施例中,由第二设备按照第一设备的安全等级和计算能力对第一设备进行评估,从而为不同的第一设备确定不同的安装包验证策略。安装包验证策略可以用于指示安装包是否需要进行验证;以及,在需要进行验证的情况下,安装包是由第一设备进行验证还是由第二设备进行验证;以及,在安装包由第一设备进行验证的情况下,验证信息是有第一设备获取还是第二设备获取等。
在一种可能的实现方式中,本申请实施例提供的应用安装方法还可以包括:在第一设备与第二设备建立连接的情况下,第一设备可以向第二设备发送第一设备的安全等级信息和计算能力信息;第二设备接收第一设备发送的安全等级信息和计算能力信息,之后,可以基于所述安全等级信息和所述计算能力信息确定安装包验证策略。
其中,安全等级信息可以用于指示第一设备的安全性。第一设备的安全性越高,第一设备提供的安装包的可靠性越高,第一设备的验证结果(包括安装包验证通过和安装包验证未通过)的可靠性越高。举例来说,安全等级信息可以分为与安全管理无关的质量管理(Quality Management,QM)、安全完整性等级(Safety Integration Level,SIL)的A级、B级、C级或者D级等。计算能力信息可以用于指示第一设备的计算能力。第一设备的计算能力越高,第一设备可以处理的业务越多。例如,第一设备可以既执行获取验证信息的过程又执行基于验证信息对安装包进行验证的过程,也可以仅执行对安装包进行验证的过程,或者是完全不执行验证相关的过程。
在本申请实施例中,用户可以根据需求在第二设备上预先设置多个安装包验证策略,以及每个安装包验证策略对应的条件。第一设备的安全等级信息和计算能力信息满足某个安装包验证策略对应的条件时,则第二设备可以向第一设备返回该安装包验证策略。第一设备可以按照第二设备返回的的安装包验证策略,确定是否对安装包进行验证,是否从安装包中获取验证信息等。
举例来说,第二设备上预先设置了四个安装包验证策略:第一策略、第二策略、第三策略和第四策略,其中,第一策略对应第一条件,第二策略对应第二条件,第三策略对应第三条件,以及第四策略对应第四条件。第一设备的安全等级信息和计算能力信息满足第一条件时,第二设备可以向第一设备返回第一策略;第一设备的安全等级信息和计算能力信息满足第二条件时,第二设备向第一设备返回第二策略;第一设备的安全等级信息和计算能力信息满足第三条件时,第二设备向第一设备返回第三策略;第一设备安全等级信息和计算能力信息满足第四条件时,第二设备可以向第一设备返回第四策略。
在第一设备的安全等级信息指示的安全等级越高(即第一设备的安全性越高)时,第一设备提供的安装包安全性越高,第一设备提供的安装包的验证结果的可靠性越高;在第一设备的计算能力信息指示的计算能力等级越高(即第一设备的计算能力越强)时,第一设备可以执行的操作越多。
在一个示例中,第一条件可以为第一设备的安全等级信息指示的安全等级大于第一安全阈值,以及第一设备的计算能力信息指示的计算能力等级大于第一能力阈值且小于或者等于第二能力阈值。所述第一策略可以用于指示安装包的验证信息由第二设备提取且安装包由第一设备进行验证。
其中,第一安全阈值、第一能力阈值和第二能力阈值可以根据需要进行设置,本申请不做限制。第一设备的安全等级信息指示的安全等级大于第一安全阈值,表明第一设备的安全等级较高、安全性较高,因此,第一设备提供的安装包的验证结果可靠性较高,可以将安装包的验证交由第一设备执行。第一设备的计算能力信息指示的计算能力等级大于第一能力阈值且小于或者等于第二能力阈值表明第一设备的计算能力等级中等、计算能力一般,因此,提取验证信息的操作交由第一设备执行可能会影响第一设备运行流畅性,提取验证信息的操作仍然由第二设备执行。这样,既可以保障安全性,又能够提高安装应用的速度以及安装应用过程中安装应用的设备的运行流畅性。
第一设备在接收到第一策略的情况下,若获取到应用的安装包,则将安装包发送至第二设备。第二设备接收到安装包之后,可以从安装包中获取验证信息,并向第一设备返回验证信息。第一设备可以基于第二设备返回的验证信息对安装包进行验证。具体过程可以参照后续图5和图6所示的交互流程图。
在一个示例中,第二条件可以为第一设备的安全等级信息指示的安全等级大于第一安全阈值,且第一设备的计算能力信息指示的计算能力等级大于第二能力阈值。所述第二策略可以用于指示安装包的验证信息由第一设备提取且安装包由第一设备进行验证。
其中,第一设备的安全等级信息指示的安全等级大于第一安全阈值,表明第一设备的安全等级较高、安全性较高,因此,第一设备提供的安装包的验证结果可靠性较高,可以将安装包的验证交由第一设备执行。第一设备的计算能力信息指示的计算能力等级大于第二能力阈值,表明第一设备的计算能力等级较高、计算能力较强,因此,提取验证信息的操作也可以交由第一设备执行而不会响应到第一设备运行流畅性。这样,进一步减少了第二设备上执行的操作,从而进一步提高了安装应用的速度以及安装应用过程中安装应用的设备的运行流畅性。
第一设备在接收到第二策略的情况下,若获取到应用的安装包,则将从安装包中获取验证信息,并基于获取的验证信息对安装包进行验证。在验证通过的情况下,第一设备可以向第二设备发送第一消息以及安装包。具体过程可以参照后续图7和图8所示的交互流程图。
在一个示例中,第三条件可以为第一设备的安全等级信息指示的安全等级小于或者等于第一安全阈值,和/或,第一设备的计算能力信息指示的计算能力等级小于或者等于第一能力阈值。所述第三策略可以用于指示安装包的验证信息由第二设备提取且安装包由第二设备进行验证。
其中,第一设备的安全等级信息指示的安全等级小于或者等于第一安全阈值,表明第一设备的安全性较差,第一设备提供的安装博爱的验证结果可靠性较低,将安装包的验证交由第一设备执行带来的安全风险较大。因此,为了提高安全性,需要由第二设备对安装包进行验证。第一设备的计算能力信息指示的计算能力等级小于或者等于第一能力阈值,表明第一设备的计算能力等级较低、计算能力较差,因此,将安装包的验证交由第一设备执行可能会影响第一设备运行的流畅性。因此,为了保障第一设备的正常运行,需要由第二设备对安装包进行验证。
第一设备在接收到第三策略的情况下,若获取到应用的安装包,则将安装包发送给第二设备。第二设备获取到安装包后,从安装包中提取验证信息,并基于提取的验证信息对安装包进行验证。第一设备不需要执行与安装包验证相关的过程,第二设备执行所有与安装包验证相关的过程。
在一个示例中,第四条件可以为第一设备的安全等级信息指示的安全等级大于第二安全阈值。所述第四策略可以用于指示安装包无需验证。
其中,第二安全阈值可以根据需要进行设置,且第二安全阈值大于第一安全阈值。在第一设备的安全等级信息指示的安全等级大于第二阈值,表明第一设备的安全等级非常高、安全性非常强,第一设备提供的安全包是安全可靠的,因此,可以不对安装包进行验证而直接安装安装包。
第一设备在接收到第四策略的情况下,若获取到应用的安装包,则将安装包发送给第二设备。第二设备获取到安装包,直接进行安装。第一设备与第二设备均不需要执行与安装包验证相关的过程。
需要说明的是,以上仅为安装包验证策略的示例性说明,并不能限制安装包验证策略,安装包验证策略还可以包括其他策略。
下面结合图5对安装包验证策略为第一策略时的应用安装方法进行说明。图5示出了本申请实施例提供的应用安装方法的交互流程图。该方法可以应用于图2所示的系统。如图5所示,该方法可以包括:
步骤S501,第一设备获取应用的安装包。
本步骤可以参照步骤S301,这里不再赘述。
步骤S502,第一设备向第二设备发送安装包。
第一设备和第二设备可以建立有线或者无线的连接,第一设备可以通过有线连接或者无线连接向第二设备发送安装包,本申请实施例对第一设备向第二设备发送安装包的方式不做限制。
步骤S503,第二设备接收第一设备发送的安装包。
步骤S504,第二设备对安装包进行完整性校验。
本步骤可以参照步骤S303,这里不再赘述。
步骤S505,在完整性校验通过的情况下,第二设备从安装包中提取安装包的验证信息。
步骤S506,第二设备向第一设备发送验证信息。
步骤S507,第一设备接收第二设备发送的验证信息。
步骤S508,第一设备基于验证信息,对安装包进行验证。
本步骤可以参照步骤S302,这里不再赘述。
步骤S509,在验证通过的情况下,第一设备向第二设备发送第一消息。
步骤S510,第二设备接收第一设备发送的第一消息。
步骤S511,第二设备确定接收到了第一设备发送的第一消息且安装包的完整性校验通过,发起针对安装包的安装。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,图2所示的第一设备可以包括应用市场和安全模块。其中,应用市场可以用于获取应用的安装包,安全模块可以用于对安装包进行验证。图2所示的第二设备可以包括包校验模块、包解析模块、安装模块、包管理模块和显示模块。其中,包校验模块可以用于对安装包进行完整性校验,包解析模块可以用于从安装包中提取验证信息,安装模块可以用于对安装包进行安装,包管理模块可以用于更新安装包的安装结果,显示模块可以用于显示安装包的安装结果。图6示出了本申请实施例提供的应用安装方法的交互流程图。如图6所示,该方法可以包括:
步骤S600,用户在第一设备的应用市场确认在第二设备安装应用。
步骤S601,应用市场下载应用的安装包后,向第二设备发送安装包。
步骤S602,第二设备的包校验模块对接收到的安装包进行完整性校验。
步骤S603,包校验模块在完整性校验通过的情况下,向包解析模块发送安装包。
步骤S604,包解析模块从安装包中提取安装包的验证信息。
步骤S605,包解析模块向第一设备返回验证信息。
步骤S606,第一设备的安全模块基于接收到的验证信息对安装包进行验证。
步骤S607,安全模块在验证通过的情况下,向第二设备发送第一消息。
步骤S608,第二设备的包解析模块确定接收到了第一信息且安装包的完整性校验通过。
步骤S609,包解析模块向安装模块发送安装消息。
其中,安装消息可以用于发起针对安装包的安装。
步骤S610,安装模块按照安装消息的指示对安装包进行安装。
步骤S611,安装完成后,安装模块向包管理模块发送应用更新消息。
步骤S612,包管理模块响应于应用更新消息,向显示模块发送应用安装完成消息。
步骤S613,包管理模块响应于应用更新消息,向第一设备返回应用安装完成消息。
步骤S614,显示模块响应于应用安装完成消息显示应用安装完成信息。
步骤S615,第一设备的应用市场响应于应用安装完成消息将第二设备对应的应用状态更新为已安装。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
需要说明的是,以上仅为第一设备和第二设备的示例性结构说明,并不能用于限制第一设备和第二设备,第一设备和第二设备可以包括比上述更多或更少的模块。
下面结合图7对安装包验证策略为第二策略时的应用安装方法进行说明。图7示出了本申请实施例提供的应用安装方法的交互流程图。该方法可以应用于图2所示的系统。如图7所示,该方法可以包括:
步骤S701,第一设备获取应用的安装包。
步骤S702,第一设备对安装包进行解包,以提取出安装包的验证信息。
步骤S703,第一设备基于验证信息,对安装包进行验证。
步骤S704,在验证通过的情况下,第一设备对解包后的安装包进行打包处理,重新获得安装包,并向第二设备发送第一消息以及重新获得的安装包。
步骤S705,第二设备接收第一设备发送的安装包以及第一消息。
步骤S706,第二设备对安装包进行完整性校验。
步骤S707,第二设备确定接收到了第一设备发送的第一消息且安装包的完整性校验通过,发起针对安装包的安装。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,图2所示的第一设备可以包括应用市场、包处理模块、包解析模块和安全模块。其中,应用市场可以用于获取应用的安装包,包处理模块和宝解析模块可以用于从安装包中提取验证信息,安全模块可以用于对安装包进行验证。图2所示的第二设备可以包括包校验模块、包解析模块、安装模块、包管理模块和显示模块。其中,包家宴模块可以用于对安装包进行完整性校验,包解析模块可以用于传递安装消息,安装模块可以用于对安装包进行安装,包管理模块可以用于更新安装包的安装结果,显示模块可以用于显示安装包的安装结果。图8示出了本申请实施例提供的应用安装方法的交互流程图。如图8所示,该方法可以包括:
步骤S801,用户在第一设备的应用市场确认在第二设备安装应用。
步骤S802,应用市场下载应用的安装包后,通过包处理模块对安装包进行解包。
步骤S803,应用市场通过包解析模块从解包后的安装包中提取验证信息。
步骤S804,应用市场向安全模块发送验证信息;
步骤S805,安全模块基于验证信息,对安装包进行验证。
步骤S806,安全模块向应用市场返回安装包的验证结果。
步骤S807,在验证通过的情况下,应用市场通过包处理模块对安装包进行打包处理,重新获得安装包。
步骤S808,应用市场向第二设备发送重新获得的安装包以及第一消息。
步骤S809,第二设备的包校验模块接收第一设备发送的安装包以及第一消息。
步骤S810,包校验模块对安装包进行完整性校验。
步骤S811,包校验模块确定接收到了第一消息且安装包的完整性校验通过。
步骤S812,包校验模块向包解析模块发送安装消息。
其中,安装消息可以用于发起针对安装包的安装。
步骤S813,包解析模块向安装模块发送安装消息。
步骤S814,安装模块接收到安装消息后,对安装包进行安装。
步骤S815,安装完成后,安装模块向包管理模块发送应用更新消息。
步骤S816,包管理模块响应于应用更新消息,向显示模块发送应用安装完成消息。
步骤S817,包管理模块响应于应用更新消息,向包校验模块返回应用安装完成消息。
步骤S818,包校验模块向第一设备返回应用安装完成消息。
步骤S819,显示模块响应于应用安装完成消息显示应用安装完成信息。
步骤S820,第一设备的应用市场响应于应用安装完成消息将第二设备对应的应用状态更新为已安装。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
需要说明的是,以上仅为第一设备和第二设备的示例性结构说明,并不能用于限制第一设备和第二设备,第一设备和第二设备可以包括比上述更多或更少的模块。
图9示出了本申请实施例提供的应用安装装置的结构示意图。该装置可以应用于图2所示的第一设备。如图9所示,装置900可以包括:
获取模块901,用于获取应用的安装包;
验证模块902,用于对所述获取模块901获取的安装包进行验证;
第一发送模块903,用于在所述验证模块902验证通过的情况下,向第二设备发送第一消息,所述第一消息用于指示所述第二设备在所述安装包的完整性校验通过的情况下,直接发起针对所述安装包的安装。
需要说明的是,以上仅为第一设备和第二设备的示例性结构说明,并不能用于限制第一设备和第二设备,第一设备和第二设备可以包括比上述更多或更少的模块。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,所述装置还包括:
第二发送模块,用于在与所述第二设备建立连接的情况下,向所述第二设备发送所述第一设备的安全等级信息和计算能力信息,以使所述第二设备基于所述第一设备的安全等级信息和计算能力信息确定安装包验证策略;
接收模块,用于接收所述第二设备返回的安装包验证策略。
在一种可能的实现方式中,所述第二设备返回的安装包验证策略为第一策略,所述第一策略用于指示所述安装包的验证信息由所述第二设备提取且所述安装包由所述第一设备进行验证,所述装置还包括:
第三发送模块,用于向所述第二设备发送所述安装包;
所述验证模块具体用于:
接收所述第二设备返回的所述安装包的验证信息;
基于所述验证信息,对所述安装包进行验证。
在一种可能的实现方式中,所述第二设备返回的安装包验证策略为第二策略,所述第二策略用于指示所述安装包的验证信息由所述第一设备提取且所述安装包由所述第一设备进行验证,所述验证模块具体用于:
对所述安装包进行解包,以提取出所述安装包的验证信息;
基于所述验证信息,对所述安装包进行验证;
所述装置还包括:
打包模块,用于在所述验证通过的情况下,对解包后的安装包进行打包处理,重新获得所述安装包,并向所述第二设备发送重新获得的安装包。
在一种可能的实现方式中,所述验证消息包括签名和证书,所述验证模块具体用于:
对所述签名和所述证书分别进行验证。
图10示出了本申请实施例提供的应用安装装置的结构示意图。该装置可以应用于图2所示的第二设备。如图10所示,装置1000可以包括:
校验模块1001,用于对获取的应用的安装包进行完整性校验;
安装模块1002,用于在确定接收到了第一消息且所述校验模块1001对安装包的完整性校验通过的情况下,发起针对所述安装包的安装,所述第一消息用于指示所述安装包已通过第一设备的验证。
在本申请实施例中,在需要在第二设备安装应用时,将应用的安装包的验证交由与第二设备建立了连接的第一设备进行处理,从而降低了对第二设备资源的占用,提高了应用的安装速度以及安装过程中第二设备运行的流畅性。
在一种可能的实现方式中,所述装置还包括:
第一接收模块,用于在与所述第一设备建立连接的情况下,接收所述第一设备发送的第一设备的安全等级信息和计算能力信息;
确定模块,用于基于所述安全等级信息和所述计算能力信息确定安装包验证策略;
第一发送模块,用于将所述安装包验证策略发送至所述第一设备。
在一种可能的实现方式中,所述安装包验证策略为第一策略,所述第一策略用于指示所述安装包的验证信息由所述第二设备提取且所述安装包由所述第一设备进行验证,所述装置还包括:
第二接收模块,用于接收所述第一设备发送的所述安装包;
提取模块,用于在所述完整性校验通过的情况下,从所述安装包中提取所述安装包的验证信息;
第二发送模块,用于向所述第一设备发送所述验证信息,以便于所述第一设备基于所述验证信息,对所述安装包进行验证;
第三接收模块,用于接收所述第一设备发送的所述第一消息。
在一种可能的实现方式中,所述安装包验证策略为第二策略,所述第二策略用于指示所述安装包的验证信息由所述第一设备提取且所述安装包由所述第一设备进行验证,所述装置还包括:
第四接收模块,用于接收所述第一设备发送的所述安装包以及所述第一消息。
在一种可能的实现方式中,所述验证信息包括签名和证书。
本申请的实施例提供了一种电子设备,包括:处理器以及用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令时实现上述方法。
图11示出了本申请实施例提供的电子设备的结构示意图。本申请实施例涉及的第一设备和第二设备的结构可以参照图11所示的电子设备。图9所示的装置或者图10所示的装置可以部署在图11所示的电子设备上。
如图11所示,电子设备可以包括至少一个处理器1101,存储器1102、输入输出设备1103以及总线1104。下面结合图11对电子设备的各个构成部件进行具体的介绍:
处理器1101是电子设备的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器1101是一个中央处理器(Central Processing Unit,CPU),也可以是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路,例如:一个或多个微处理器(Digital SignalProcessor,DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,FPGA)。
其中,处理器1101可以通过运行或执行存储在存储器1102内的软件程序,以及调用存储在存储器1102内的数据,执行电子设备的各种功能。在本申请实施例中,处理器可以用于对安装包进行验证、提取安装包的验证信息、确定安装包验证策略等。
在具体的实现中,作为一种实施例,处理器1101可以包括一个或多个CPU,例如图中所示的CPU 0和CPU 1。
在具体实现中,作为一种实施例,电子设备可以包括多个处理器,例如图11中所示的处理器1101和处理器1105。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
存储器1102可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器1102可以是独立存在,通过总线1104与处理器1101相连接。存储器1102也可以和处理器1101集成在一起。在本申请实施例中,存储器可以用于存储安装包、安装包的验证信息、安装包验证策略等。
输入输出设备1103,用于与其他设备或通信网络通信。如用于与以太网,无线接入网(Radio access network,RAN),无线局域网(Wireless Local Area Networks,WLAN)等通信网络通信。输入输出设备1103可以包括基带处理器的全部或部分,以及还可选择性地包括无线射频(Radio Frequency,RF)处理器。RF处理器用于收发RF信号,基带处理器则用于实现由RF信号转换的基带信号或即将转换为RF信号的基带信号的处理。
在具体实现中,作为一种实施例,输入输出设备1103可以包括发射器和接收器。其中,发射器用于向其他设备或通信网络发送信号,接收器用于接收其他设备或通信网络发送的信号。发射器和接收器可以独立存在,也可以集成在一起。在本申请实施例中,输入输出设备可以用于收发:安装包、安装包的验证信息、安装包验证策略、第一消息等。
总线1104,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图11中示出的设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请的实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
本申请的实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Electrically Programmable Read-Only-Memory,EPROM或闪存)、静态随机存取存储器(Static Random-Access Memory,SRAM)、便携式压缩盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能盘(Digital Video Disc,DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(Local Area Network,LAN)或广域网(WideArea Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)或可编程逻辑阵列(Programmable Logic Array,PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Application SpecificIntegrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (23)

1.一种应用安装方法,其特征在于,所述方法应用于第一设备,所述方法包括:
获取应用的安装包;
对所述安装包进行验证;
在所述验证通过的情况下,向第二设备发送第一消息,所述第一消息用于指示所述第二设备在所述安装包的完整性校验通过的情况下,直接发起针对所述安装包的安装。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在与所述第二设备建立连接的情况下,向所述第二设备发送所述第一设备的安全等级信息和计算能力信息,以使所述第二设备基于所述第一设备的安全等级信息和计算能力信息确定安装包验证策略;
接收所述第二设备返回的安装包验证策略。
3.根据权利要求2所述的方法,其特征在于,所述第二设备返回的安装包验证策略为第一策略,所述第一策略用于指示所述安装包的验证信息由所述第二设备提取且所述安装包由所述第一设备进行验证,在所述对所述安装包进行验证之前,所述方法还包括:
向所述第二设备发送所述安装包;
所述对所述安装包进行验证包括:
接收所述第二设备返回的所述安装包的验证信息;
基于所述验证信息,对所述安装包进行验证。
4.根据权利要求2所述的方法,其特征在于,所述第二设备返回的安装包验证策略为第二策略,所述第二策略用于指示所述安装包的验证信息由所述第一设备提取且所述安装包由所述第一设备进行验证,所述对所述安装包进行验证,包括:
对所述安装包进行解包,以提取出所述安装包的验证信息;
基于所述验证信息,对所述安装包进行验证;
所述方法还包括:
在所述验证通过的情况下,对解包后的安装包进行打包处理,重新获得所述安装包,并向所述第二设备发送重新获得的安装包。
5.根据权利要求2至4中任意一项所述的方法,其特征在于,所述验证消息包括签名和证书,所述基于所述验证信息,对所述安装包进行验证,包括:
对所述签名和所述证书分别进行验证。
6.一种应用安装方法,其特征在于,所述方法应用于第二设备,所述方法包括:
对获取的应用的安装包进行完整性校验;
在确定接收到了第一消息且所述安装包的完整性校验通过的情况下,发起针对所述安装包的安装,所述第一消息用于指示所述安装包已通过第一设备的验证。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在与所述第一设备建立连接的情况下,接收所述第一设备发送的第一设备的安全等级信息和计算能力信息;
基于所述安全等级信息和所述计算能力信息确定安装包验证策略;
将所述安装包验证策略发送至所述第一设备。
8.根据权利要求7所述的方法,其特征在于,所述安装包验证策略为第一策略,所述第一策略用于指示所述安装包的验证信息由所述第二设备提取且所述安装包由所述第一设备进行验证;
在所述对获取的应用的安装包进行完整性校验之前,所述方法还包括:
接收所述第一设备发送的所述安装包;
在所述对获取的应用的安装包进行完整性校验之后,所述方法还包括:
在所述完整性校验通过的情况下,从所述安装包中提取所述安装包的验证信息;
向所述第一设备发送所述验证信息,以便于所述第一设备基于所述验证信息,对所述安装包进行验证;
接收所述第一设备发送的所述第一消息。
9.根据权利要求7所述的方法,其特征在于,所述安装包验证策略为第二策略,所述第二策略用于指示所述安装包的验证信息由所述第一设备提取且所述安装包由所述第一设备进行验证;
在所述对获取的应用的安装包进行完整性校验之前,所述方法还包括:
接收所述第一设备发送的所述安装包以及所述第一消息。
10.根据权利要求7至9中任意一项所述的方法,其特征在于,所述验证信息包括签名和证书。
11.一种应用安装装置,其特征在于,所述装置应用于第一设备,所述装置包括:
获取模块,用于获取应用的安装包;
验证模块,用于对所述获取模块获取的安装包进行验证;
第一发送模块,用于在所述验证模块验证通过的情况下,向第二设备发送第一消息,所述第一消息用于指示所述第二设备在所述安装包的完整性校验通过的情况下,直接发起针对所述安装包的安装。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二发送模块,用于在与所述第二设备建立连接的情况下,向所述第二设备发送所述第一设备的安全等级信息和计算能力信息,以使所述第二设备基于所述第一设备的安全等级信息和计算能力信息确定安装包验证策略;
接收模块,用于接收所述第二设备返回的安装包验证策略。
13.根据权利要求12所述的装置,其特征在于,所述第二设备返回的安装包验证策略为第一策略,所述第一策略用于指示所述安装包的验证信息由所述第二设备提取且所述安装包由所述第一设备进行验证,所述装置还包括:
第三发送模块,用于向所述第二设备发送所述安装包;
所述验证模块具体用于:
接收所述第二设备返回的所述安装包的验证信息;
基于所述验证信息,对所述安装包进行验证。
14.根据权利要求12所述的装置,其特征在于,所述第二设备返回的安装包验证策略为第二策略,所述第二策略用于指示所述安装包的验证信息由所述第一设备提取且所述安装包由所述第一设备进行验证,所述验证模块具体用于:
对所述安装包进行解包,以提取出所述安装包的验证信息;
基于所述验证信息,对所述安装包进行验证;
所述装置还包括:
打包模块,用于在所述验证通过的情况下,对解包后的安装包进行打包处理,重新获得所述安装包,并向所述第二设备发送重新获得的安装包。
15.根据权利要求12至14中任意一项所述的装置,其特征在于,所述验证消息包括签名和证书,所述验证模块具体用于:
对所述签名和所述证书分别进行验证。
16.一种应用安装装置,其特征在于,所述装置应用于第二设备,所述装置包括:
校验模块,用于对获取的应用的安装包进行完整性校验;
安装模块,用于在确定接收到了第一消息且所述校验模块对安装包的完整性校验通过的情况下,发起针对所述安装包的安装,所述第一消息用于指示所述安装包已通过第一设备的验证。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
第一接收模块,用于在与所述第一设备建立连接的情况下,接收所述第一设备发送的第一设备的安全等级信息和计算能力信息;
确定模块,用于基于所述安全等级信息和所述计算能力信息确定安装包验证策略;
第一发送模块,用于将所述安装包验证策略发送至所述第一设备。
18.根据权利要求17所述的装置,其特征在于,所述安装包验证策略为第一策略,所述第一策略用于指示所述安装包的验证信息由所述第二设备提取且所述安装包由所述第一设备进行验证,所述装置还包括:
第二接收模块,用于接收所述第一设备发送的所述安装包;
提取模块,用于在所述完整性校验通过的情况下,从所述安装包中提取所述安装包的验证信息;
第二发送模块,用于向所述第一设备发送所述验证信息,以便于所述第一设备基于所述验证信息,对所述安装包进行验证;
第三接收模块,用于接收所述第一设备发送的所述第一消息。
19.根据权利要求17所述的装置,其特征在于,所述安装包验证策略为第二策略,所述第二策略用于指示所述安装包的验证信息由所述第一设备提取且所述安装包由所述第一设备进行验证,所述装置还包括:
第四接收模块,用于接收所述第一设备发送的所述安装包以及所述第一消息。
20.根据权利要求17至19中任意一项所述的装置,其特征在于,所述验证信息包括签名和证书。
21.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令时实现权利要求1至5中任意一项所述的方法,或者实现权利要求6至10中任意一项所述的方法。
22.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至5中任意一项所述的方法,或者,实现权利要求6至10任意一项所述的方法。
23.一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备中运行时,所述电子设备中的处理器执行权利要求1至5中任意一项所述的方法,或者,执行权利要求6至10中任意一项所述的方法。
CN202111204793.5A 2021-10-15 2021-10-15 一种应用安装方法及装置 Pending CN115982695A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111204793.5A CN115982695A (zh) 2021-10-15 2021-10-15 一种应用安装方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111204793.5A CN115982695A (zh) 2021-10-15 2021-10-15 一种应用安装方法及装置

Publications (1)

Publication Number Publication Date
CN115982695A true CN115982695A (zh) 2023-04-18

Family

ID=85974612

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111204793.5A Pending CN115982695A (zh) 2021-10-15 2021-10-15 一种应用安装方法及装置

Country Status (1)

Country Link
CN (1) CN115982695A (zh)

Similar Documents

Publication Publication Date Title
CN110678770B (zh) 定位信息验证
CN110532766B (zh) 一种基于多容器的可信应用程序的处理方法及相关设备
US8584225B1 (en) Push channel authentication for mobile computing devices
CN110764807B (zh) 一种升级方法、系统、服务器及终端设备
CN112491776B (zh) 安全认证方法及相关设备
US20150149777A1 (en) Mobile terminal, terminal and authentication method using security cookie
WO2017198079A1 (zh) 下载文件的方法、装置、用户终端及机器可读存储介质
KR20110008272A (ko) 단일 서비스 사인 온을 제공하는 방법, 장치 및 컴퓨터 판독가능 저장 매체
CN110570196A (zh) 交易数据处理方法、装置、终端设备以及存储介质
US9798887B2 (en) Computing device to securely activate or revoke a key
US11681513B2 (en) Controlled scope of authentication key for software update
JP6793667B2 (ja) アプリケーションダウンロード方法及び装置
WO2019071650A1 (zh) 一种安全元件中的应用的升级方法及相关设备
CN103679000A (zh) 用于远程删除关键信息的设备和方法
CN111831308A (zh) 快充设备的固件更新方法、程序、快充设备及存储介质
US20140282969A1 (en) Systems and methods for account recovery using a platform attestation credential
CN115065703B (zh) 物联网系统及其认证与通信方法、相关设备
US20180035293A1 (en) Authenticating a device utilizing a secure display
US8621191B2 (en) Methods, apparatuses, and computer program products for providing a secure predefined boot sequence
CN111666590A (zh) 分布式文件安全传输方法、装置及系统
CN111131409A (zh) 一种响应请求的方法、装置以及相关设备
EP3193488B1 (en) Verifying a certificate
CN115982695A (zh) 一种应用安装方法及装置
CN111937013A (zh) 电子设备管理
EP3926992B1 (en) Electronic device, and authentication method in electronic device

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