CN105119888A - 插件安装包上传方法、安装方法及装置 - Google Patents

插件安装包上传方法、安装方法及装置 Download PDF

Info

Publication number
CN105119888A
CN105119888A CN201510406152.6A CN201510406152A CN105119888A CN 105119888 A CN105119888 A CN 105119888A CN 201510406152 A CN201510406152 A CN 201510406152A CN 105119888 A CN105119888 A CN 105119888A
Authority
CN
China
Prior art keywords
plug
installation kit
unit installation
unit
numerical value
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
CN201510406152.6A
Other languages
English (en)
Other versions
CN105119888B (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.)
Beijing Xiaomi Technology Co Ltd
Xiaomi Inc
Original Assignee
Xiaomi Inc
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 Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201510406152.6A priority Critical patent/CN105119888B/zh
Publication of CN105119888A publication Critical patent/CN105119888A/zh
Application granted granted Critical
Publication of CN105119888B publication Critical patent/CN105119888B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本公开是关于一种插件安装包上传方法、安装方法及装置。其中,插件上传方法包括:接收插件的所有相关文件;将所有相关文件使用预设算法进行计算,得到第一数值;使用加密密钥对第一数值进行加密,将加密后的第一数值写入签名文件;将签名文件和所述所有相关文件进行打包,生成插件安装包,上传至预设服务器。通过该技术方案,将通过对插件的所有相关文件进行计算得到的第一数值写入签名文件,将签名文件和插件的所有相关文件打包成插件安装包上传,在获取到插件安装包时,重新根据插件的所有相关文件计算,得到第二数值,将第一数值与第二数值进行对比,即可判断插件安装包里的文件是否被篡改,从而保证插件安装包的安装安全,提升用户使用体验。

Description

插件安装包上传方法、安装方法及装置
技术领域
本公开涉及插件安装技术领域,尤其涉及插件安装包上传方法、插件安装包安装方法及插件安装包上传装置、插件安装包安装装置。
背景技术
插件化开发方式是当前手机开发过程中,一种比较不错的解决应用臃肿化的方案。开发者可以将应用按照功能、结构划分为多个模块,分别开发维护;用户也只需下载精巧的具备基本功能的应用,当有拓展功能需求时可以通过下载安装相关插件实现上述功能。
开发者在完成插件软件开发后,需要将其上传到服务器,经过审核后才能够上线。
发明内容
本公开实施例提供,包括如下技术方案:
根据本公开实施例的第一方面,提供一种插件安装包上传方法,所述方法包括:
接收插件的所有相关文件;
将所述所有相关文件使用预设算法进行计算,得到第一数值;
使用加密密钥对所述第一数值进行加密,将所述加密后的第一数值写入签名文件;
将签名文件和所述所有相关文件进行打包,生成插件安装包;
上传所述插件安装包至预设服务器。
在该实施例中,使用签名文件对所有相关文件进行签名,得到插件安装包,这样,即使插件安装包里的相关文件被篡改,由于签名文件已进行加密,而没有解密密钥并不能对其进行操作,因此,在将插件安装包上传至预设服务器的过程中,可以保证签名文件的安全,进而根据签名文件判断插件安装包里的相关文件是否被篡改,从而保证用户安装插件安装包的安全,防止被第三方恶意篡改,提升用户的使用体验。
在一个实施例中,所述预设算法包括哈希算法。
在一个实施例中,所述方法还包括:
接收输入的密钥生成命令;
根据所述密钥生成命令,生成所述加密密钥和与所述加密密钥对应的解密密钥。
在该实施例中,根据加密密钥生成与其对应的解密密钥,从而组成密钥对,实现对第一数值的加密和解密。其中,加密密钥可以是私钥,解密密钥可以是公钥。
在一个实施例中,所述方法还包括:
上传所述解密密钥至所述预设服务器,所述预设服务器用于将所述插件安装包和所述解密密钥进行对应存储。
在该实施例中,将解密密钥上传至预设服务器,并与插件安装包对应存储,这样,应用程序或终端设备等在欲安装插件安装包时,可以向预设服务器发送解密密钥获取请求,从而获取解密密钥,对加密后的签名文件进行解密,验证插件安装包是否被伪造或被篡改。
在一个实施例中,生成插件安装包,包括:
将所述解密密钥、签名文件、所述所有相关文件进行打包生成插件安装包。
在该实施例中,还可以将解密密钥和签名后的所有相关文件一起打包生成插件安装包,这样,在应用程序或终端设备等在欲安装插件安装包时,可以直接从插件安装包中解析出解密密钥,进而根据解密密钥对加密后的签名文件进行解密,验证插件安装包是否被伪造或被篡改。本公开给出了多种解密密钥的提供方式,使得插件安装包上传方法的实施方式更丰富、灵活。
在一个实施例中,所述方法还包括:
上传所述插件安装包的属性信息至所述预设服务器,其中,所述属性信息中包括下述一项或多项:
插件安装包的名称、插件类型、插件所支持的最低应用版本。
在该实施例中,上传插件安装包的属性信息至预设服务器,如上传插件安装包名称、插件类型、插件所支持的最低应用版本等至预设服务器,这样,在应用程序或终端设备等在欲安装插件安装包时,目标使用用户可以清楚的获知插件的详细信息,同时也方便应用程序或终端设备等根据插件类型、名称、所支持的最低版本等信息识别和正确安装该插件,从而避免因插件不能安装给用户带来的困扰,提升用户的使用体验。
根据本公开实施例的第二方面,提供一种插件安装包安装方法,所述方法包括:
在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,其中,所述插件安装包中包括插件的签名文件和所有相关文件,所述解密密钥与所述签名文件的加密密钥相对应;
使用所述解密密钥对所述加密后的第一数值进行解密,得到第一数值;
将所述所有相关文件使用预设算法进行计算,得到第二数值;
将所述第一数值和所述第二数值进行比较,得到比较结果;
根据比较结果确定是否允许安装所述插件安装包。
在该实施例中,使用签名文件对所有相关文件进行签名,得到插件安装包,这样,即使插件安装包里的相关文件被篡改,由于签名文件已进行加密,而没有解密密钥并不能对其进行操作,因此,在将插件安装包上传至预设服务器的过程中,可以保证签名文件的安全。而在对插件安装包进行安装时,可以对所有相关文件进行计算,从而判断计算得到的数值,是否与从签名文件中解密得到的数值是否相同,如果两者相同,则说明插件安装包中的所有相关文件并没有被篡改,如果两者不同,则说明插件安装包中的所有相关文件被伪造或篡改。从而有效地保证用户安装插件安装包的安全,防止被第三方恶意篡改。
在一个实施例中,所述预设算法包括哈希算法。
在一个实施例中,所述根据比较结果确定是否允许安装所述插件安装包,包括:
在所述第一数值与所述第二数值相同时,确定所述插件的所有相关文件未被篡改,允许安装所述插件安装包;
在所述第一数值与所述第二数值不同时,确定所述插件的所有相关文件被篡改,不允许安装所述插件安装包。
在该实施例中,根据第一数值和第二数值是否相同,来判断插件的所有相关文件是否被篡改,从而确定插件安装包是否安全,在安全时,允许安装插件安装包,在不安全时,不允许安装插件安装包,从而保证用户的安装安全,防止被第三方恶意篡改,提升用户的使用体验。
在一个实施例中,确定所述插件的所有相关文件未被篡改之后,还包括:
从所述预设服务器中获取所述插件安装包的属性信息,其中,所述属性信息包括下述信息中的一项或多项:插件安装包的名称、插件类型、插件支持的最低应用版本号;
判断欲安装的所述插件安装包的应用的当前版本号;
在所述当前版本号不低于所述最低应用版本号时,转向允许安装所述插件安装包的步骤;
在所述当前版本低于所述最低应用版本号时,转向不允许安装所述插件安装包的步骤。
在该实施例中,上传插件安装包的属性信息至预设服务器,如上传插件安装包名称、插件类型、插件所支持的最低应用版本等至预设服务器,这样,在应用程序或终端设备等在欲安装插件安装包时,方向用户清楚的获知插件的详细信息,同时也方便应用程序或终端设备等根据插件所支持的最低版本判断是否可以安装该插件,从而避免因插件不能安装给用户带来的困扰,提升用户的使用体验。
在一个实施例中,所述在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,包括:
在从所述预设服务器获取到插件安装包后,发送所述插件安装包对应的解密密钥的获取请求至所述预设服务器;
接收所述预设服务器发送的与所述插件安装包对应的解密密钥;或者
在从所述预设服务器获取到插件安装包后,对所述插件安装包进行解析获取其中包含的解密密钥。
在该实施例中,应用程序或终端设备等在欲安装插件安装包时,可以向预设服务器发送解密密钥获取请求,从而获取解密密钥,对加密后的签名文件进行解密,验证插件安装包是否被伪造或被篡改。也可以在上传时,将解密密钥和签名后的所有相关文件一起打包生成插件安装包,这样,在应用程序或终端设备等在欲安装插件安装包时,可以直接从插件安装包中解析出解密密钥,进而根据解密密钥对加密后的签名文件进行解密,验证插件安装包是否被伪造或被篡改。
根据本公开实施例的第三方面,提供一种插件安装包上传装置,所述装置包括:
第一接收模块,用于接收插件的所有相关文件;
计算模块,用于将所述所有相关文件使用预设算法进行计算,得到第一数值;
加密模块,用于使用加密密钥对所述第一数值进行加密,将所述加密后的第一数值写入签名文件;
第一生成模块,用于将签名文件和所述所有相关文件进行打包,生成插件安装包;
第一上传模块,用于上传所述插件安装包至预设服务器。
在一个实施例中,所述预设算法包括哈希算法。
在一个实施例中,所述装置还包括:
第二接收模块,用于接收输入的密钥生成命令;
第二生成模块,用于根据所述密钥生成命令,生成所述加密密钥和与所述加密密钥对应的解密密钥。
在一个实施例中,所述装置还包括:
第二上传模块,用于上传所述解密密钥至所述预设服务器,所述预设服务器用于将所述插件安装包和所述解密密钥进行对应存储;或者
所述第一生成模块包括:
安装包生成子模块,用于将所述解密密钥、签名文件、所述所有相关文件进行打包生成插件安装包。
在一个实施例中,所述装置还包括:
第三上传模块,用于上传所述插件安装包的属性信息至所述预设服务器,其中,所述属性信息中包括下述一项或多项:
插件安装包的名称、插件类型、插件所支持的最低应用版本。
根据本公开实施例的第四方面,提供一种插件安装包安装装置,所述装置包括:
密钥获取模块,用于在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,其中,所述插件安装包中包括插件的签名文件和所有相关文件,所述解密密钥与所述签名文件的加密密钥相对应;
加密模块,用于使用所述解密密钥对所述加密后的第一数值进行解密,得到第一数值;
计算模块,用于将所述所有相关文件使用预设算法进行计算,得到第二数值;
比较模块,用于将所述第一数值和所述第二数值进行比较,得到比较结果;
确定模块,用于根据比较结果确定是否允许安装所述插件安装包。
在一个实施例中,所述预设算法包括哈希算法。
在一个实施例中,所述确定模块包括:
第一确定子模块,用于在所述第一数值与所述第二数值相同时,确定所述插件的所有相关文件未被篡改,允许安装所述插件安装包;
第二确定子模块,用于在所述第一数值与所述第二数值不同时,确定所述插件的所有相关文件被篡改,不允许安装所述插件安装包。
在一个实施例中,所述确定模块还包括:
信息获取子模块,用于在确定所述插件的所有相关文件未被篡改后,从所述预设服务器中获取所述插件安装包的属性信息,其中,所述属性信息包括下述信息中的一项或多项:插件安装包的名称、插件类型、插件支持的最低应用版本号;
判断子模块,用于判断欲安装的所述插件安装包的应用的当前版本号;
所述第一确定子模块用于,在所述当前版本号不低于所述最低应用版本号时,转向允许安装所述插件安装包的步骤;
所述第二确定子模块用于,在所述当前版本低于所述最低应用版本号时,转向不允许安装所述插件安装包的步骤。
在一个实施例中,所述密钥获取模块包括:
发送子模块,用于在从所述预设服务器获取到插件安装包后,发送所述插件安装包对应的解密密钥的获取请求至所述预设服务器;
接收子模块,用于接收所述预设服务器发送的与所述插件安装包对应的解密密钥;或者
解析子模块,用于在从所述预设服务器获取到插件安装包后,对所述插件安装包进行解析获取其中包含的解密密钥。
根据本公开实施例的第五方面,提供一种插件安装包上传装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收插件的所有相关文件;
将所述所有相关文件使用预设算法进行计算,得到第一数值;
使用加密密钥对所述第一数值进行加密,将所述加密后的第一数值写入签名文件;
将签名文件和所述所有相关文件进行打包,生成插件安装包;
上传所述插件安装包至预设服务器。
根据本公开实施例的第六方面,提供一种插件安装包安装装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,其中,所述插件安装包中包括插件的签名文件和所有相关文件,所述解密密钥与所述签名文件的加密密钥相对应;
使用所述解密密钥对所述加密后的第一数值进行解密,得到第一数值;
将所述所有相关文件使用预设算法进行计算,得到第二数值;
将所述第一数值和所述第二数值进行比较,得到比较结果;
根据比较结果确定是否允许安装所述插件安装包。
本公开的实施例提供的技术方案可以包括以下有益效果:
上述技术方案,将通过对插件的所有相关文件进行计算得到的第一数值写入签名文件,将签名文件和插件的所有相关文件打包成插件安装包上传,并在获取到插件安装包时,重新根据插件的所有相关文件计算,得到第二数值,将第一数值与第二数值进行对比,即可判断插件安装包里的文件是否被篡改,从而保证插件安装包的安装安全,防止被第三方恶意篡改,提升用户的使用体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的插件安装包上传方法的流程图。
图2是根据一示例性实施例示出的一种插件安装包上传方法的流程图。
图3是根据一示例性实施例示出的另一种插件安装包上传方法的流程图。
图4是根据一示例性实施例示出的再一种插件安装包上传方法的流程图。
图5A是根据一示例性实施例示出的又一种插件安装包上传方法的流程图。
图5B是根据一示例性实施例示出的插件安装包管理界面示意图。
图6是根据一示例性实施例示出的插件安装包安装方法的流程图。
图7是根据一示例性实施例示出的一种插件安装包安装方法的流程图。
图8是根据一示例性实施例示出的另一种插件安装包安装方法的流程图。
图9是根据一示例性实施例示出的再一种插件安装包安装方法的流程图。
图10是根据一示例性实施例示出的又一种插件安装包安装方法的流程图。
图11是根据一示例性实施例示出的插件安装包上传装置的框图。
图12是根据一示例性实施例示出的一种插件安装包上传装置的框图。
图13是根据一示例性实施例示出的另一种插件安装包上传装置的框图。
图14是根据一示例性实施例示出的一种插件安装包上传装置中第一生成模块的框图。
图15是根据一示例性实施例示出的再一种插件安装包上传装置的框图。
图16是根据一示例性实施例示出的插件安装包安装装置的框图。
图17是根据一示例性实施例一示出的插件安装包安装装置中确定模块的框图。
图18是根据一示例性实施例二示出的插件安装包安装装置中确定模块的框图。
图19是根据一示例性实施例示出的插件安装包安装装置中密钥获取模块的框图。
图20是根据一示例性实施例示出的适用于插件安装包上传装置和插件安装包安装装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供了一种插件安装包上传方法,如图1所示,该方法包括步骤S101-S105:
在步骤S101中,接收插件的所有相关文件;
在步骤S102中,将所有相关文件使用预设算法进行计算,得到第一数值。在一个实施例中,预设算法包括哈希算法。当然,预设算法也可以是其他可对所有相关文件进行加密的加密算法,例如RSA算法、DES(DataEncryptionStandard,数据加密标准)等。
在步骤S103中,使用加密密钥对第一数值进行加密,将加密后的第一数值写入签名文件。使用加密密钥进行加密,这样,可以保证第一数值的安全,保证其不会被篡改或被轻易获取。
在步骤S104中,将签名文件和所述所有相关文件进行打包,生成插件安装包。
在该实施例中,将签名文件和插件的所有相关文件进行打包,生成插件安装包,即进行数字签名。数字签名可以用来证实消息确实是由发送者签发的,而且当数字签名用于存储数据或程序时,可以用来验证数据或程序的完整性。它和传统手写签名类似,应具有以下特征:(1)不可伪造性:除了签名者外,任何人都不能伪造签名者的合法签名。(2)认证性:接收者相信这份签名来自签名者。(3)不可重用性:一个消息的签名不能用于其他消息。(4)不可修改性:一个消息在签名后不能被修改。(5)不可抵赖性:签名者事后不能否认自己的签名。
在步骤S105中,上传插件安装包至预设服务器。将签名文件和所有相关文件进行打包,得到插件安装包,这样,即使插件安装包里的相关文件被篡改,由于签名文件中的第一数值已进行加密,而没有解密密钥并不能对其进行操作,因此,在将插件安装包上传至预设服务器的过程中,可以保证签名文件的安全,进而根据签名文件判断插件安装包里的相关文件是否被篡改,从而有效地保证用户安装插件安装包的安全,防止被第三方恶意篡改,提升用户的使用体验。
如图2所示,在一个实施例中,上述插件安装包上传方法还包括步骤S201-S202:
在步骤S201中,接收输入的密钥生成命令;
在步骤S202中,根据密钥生成命令,生成加密密钥和与加密密钥对应的解密密钥。
在该实施例中,根据加密密钥生成与其对应的解密密钥,从而组成密钥对,实现对第一数值的加密和解密。其中,加密密钥可以是私钥,解密密钥可以是公钥。其中,公钥和私钥是通过一种算法得到的一个密钥对(即一个公钥和一个私钥)其中的一个向外界公开,称为公钥;另一个自己保留,称为私钥。通过这种算法得到的密钥对能保证在世界范围内是唯一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。
使用公钥和私钥配对的方式,实现插件安装包的加密上传和解密安装,可以有效地保证插件安装包不被第三方篡改,提高安全性。
其中,解密密钥可以通过下述两种方式上传至预设服务器。
方式一:
如图3所示,在一个实施例中,上述方法还包括步骤S301:
在步骤S301中,上传解密密钥至预设服务器,预设服务器用于将插件安装包和解密密钥进行对应存储。
在该实施例中,将解密密钥上传至预设服务器,并与插件安装包对应存储,这样,应用程序或终端设备等在欲安装插件安装包时,可以向预设服务器发送解密密钥获取请求,从而从服务器侧获取解密密钥,对加密后的签名文件进行解密,验证插件安装包是否被伪造或被篡改。
解密密钥由服务器保存,由于服务器的权威性和安全性,可以充分保证解密密钥的安全性。
在服务器侧保存的解密密钥,需要加密后保存,避免明文保存,在服务器根据解密密钥获取请求,返回解密密钥时,同样需要将加密之后的解密密钥返回给服务器,避免明文传输,关于解密密钥如何解密,可以预先预定对应的密码。
方式二:
如图4所示,在一个实施例中,上述步骤S104包括步骤S401:
在步骤S401中,将解密密钥、签名文件、所有相关文件进行打包生成插件安装包。
在该实施例中,将解密密钥、签名文件和所有相关文件一起打包生成插件安装包,这样,在应用程序或终端设备等在欲安装插件安装包时,可以直接从插件安装包中解析出解密密钥,进而根据解密密钥对签名文件中加密后的第一数值进行解密,验证插件安装包是否被伪造或被篡改。
如图5A所示,在一个实施例中,上述方法还包括步骤S501:
在步骤S501中,上传插件安装包的属性信息至预设服务器,其中,属性信息中包括下述一项或多项:
插件安装包的名称、插件类型、插件所支持的最低应用版本。
在该实施例中,如图5B所示,在上传插件安装包之前,还可以输出提示界面,提示插件开发者输入如插件安装包名称、插件类型、插件所支持的最低应用版本等信息,进而将这些信息一同上传至预设服务器,这样,在应用程序或终端设备等在欲安装插件安装包时,目标使用用户可以清楚的获知插件的详细信息,同时也方便应用程序或终端设备等根据插件类型、名称、所支持的最低版本等信息识别和正确安装该插件,从而避免因插件不能安装给用户带来的困扰,提升用户的使用体验。
本公开实施例还提供了一种插件安装包安装方法,该方法可用于需要安装插件的应用程序或终端设备中,如图6所示,该方法包括步骤S601-S605:
在步骤S601中,在从预设服务器获取到插件安装包后,获取插件安装包对应的解密密钥,其中,插件安装包中包括插件的签名文件和所有相关文件,解密密钥与签名文件的加密密钥相对应;
在步骤S602中,使用解密密钥对加密后的第一数值进行解密,得到第一数值;
在步骤S603中,将所有相关文件使用预设算法进行计算,得到第二数值;在一个实施例中,预设算法包括哈希算法。当然,预设算法也可以是其他可对所有相关文件计算的算法,该算法与在上传插件安装包之前,对所有相关文件进行计算得到第一数值的算法相同。
在步骤S604中,将第一数值和第二数值进行比较,得到比较结果;
在步骤S605中,根据比较结果确定是否允许安装插件安装包。
在该实施例中,将签名文件和所有相关文件进行打包,得到插件安装包,这样,即使插件安装包里的相关文件被篡改,由于签名文件中的第一数值已进行加密,而没有解密密钥并不能对其进行操作,因此,在将插件安装包上传至预设服务器的过程中,可以保证签名文件的安全。而在对插件安装包进行安装时,可以对所有相关文件进行计算,从而判断计算得到的数值,是否与从签名文件中解密得到的数值是否相同,如果两者相同,则说明插件安装包中的所有相关文件并没有被篡改,如果两者不同,则说明插件安装包中的所有相关文件被伪造或篡改。从而保证用户安装插件安装包的安全。
如图7所示,在一个实施例中,上述步骤S605包括步骤S701-S702:
在步骤S701中,在第一数值与第二数值相同时,确定插件的所有相关文件未被篡改,允许安装插件安装包;
在步骤S702中,在第一数值与第二数值不同时,确定插件的所有相关文件被篡改,不允许安装插件安装包。
在该实施例中,根据第一数值和第二数值是否相同,来判断插件的所有相关文件是否被篡改,从而确定插件安装包是否安全,在安全时,允许安装插件安装包,在不安全时,不允许安装插件安装包,从而保证用户的安装安全,提升用户的使用体验。
例如,在上传插件安装包时,先对插件的所有相关文件进行哈希计算,得到哈希值A,并使用加密密钥,如私钥对哈希值A进行加密,然后将加密后的哈希值A写入签名文件,将签名文件和插件的所有相关文件进行打包,得到插件安装包上传至预设服务器。当有应用想安装该插件时,会从预设服务器中获取到插件安装包以及与签名文件中加密后的哈希值A对应的解密密钥,根据解密密钥,对加密后的哈希值A进行解密,得到哈希值A,再重新对插件安装包中的插件的所有相关文件进行哈希计算,如果计算结果也为哈希值A,则说明插件安装包没有被篡改,而如果计算结果为哈希值B,与A不同,则说明插件安装包被篡改,为了保证安装安全,可以不允许安装插件安装包。
如图8所示,在一个实施例中,在确定插件的所有相关文件未被篡改之后,还包括步骤S801-S804:
在步骤S801中,从预设服务器中获取插件安装包的属性信息,其中,属性信息包括下述信息中的一项或多项:插件安装包的名称、插件类型、插件所支持的最低应用版本;
在步骤S802中,判断欲安装的插件安装包的应用的当前版本号;
在步骤S803中,在当前版本号不低于最低应用版本号时,转向允许安装插件安装包的步骤;
在步骤S804中,在当前版本低于最低应用版本号时,转向不允许安装插件安装包的步骤。
在该实施例中,上传插件安装包的属性信息至预设服务器,如上传插件安装包名称、插件类型、插件所支持的最低应用版本等至预设服务器,这样,在应用程序或终端设备等在欲安装插件安装包时,目标使用用户可以清楚的获知插件的详细信息,同时也方便应用程序或终端设备等根据插件类型、名称、所支持的最低版本等信息识别和正确安装该插件,从而避免因插件不能安装给用户带来的困扰,提升用户的使用体验。
其中,可以通过下述两种方式获取解密密钥。
方式一:
如图9所示,在一个实施例中,上述步骤S601包括步骤S901-S902:
在步骤S901中,在从预设服务器获取到插件安装包后,发送插件安装包对应的解密密钥的获取请求至预设服务器;
在步骤S902中,接收预设服务器发送的与插件安装包对应的解密密钥。
应用程序或终端设备等在欲安装插件安装包时,可以向预设服务器发送解密密钥获取请求,从而从服务器侧获取解密密钥,对加密后的签名文件进行解密,验证插件安装包是否被伪造或被篡改。
解密密钥由服务器保存,由于服务器的权威性和安全性,可以充分保证解密密钥的安全性。
在服务器侧保存的解密密钥,需要加密后保存,避免明文保存,在服务器根据解密密钥获取请求,返回解密密钥时,同样需要将加密之后的解密密钥返回给服务器,避免明文传输,关于解密密钥如何解密,可以预先预定对应的密码。
方式二:
如图10所示,在一个实施例中,上述步骤S601包括步骤S1001:
在步骤S1001中,在从预设服务器获取到插件安装包后,对插件安装包进行解析获取其中包含的解密密钥。
在该实施例中,在上传时,将解密密钥和签名后的所有相关文件一起打包生成插件安装包,这样,在应用程序或终端设备等在欲安装插件安装包时,可以直接从插件安装包中解析出解密密钥,进而根据解密密钥对加密后的签名文件进行解密,验证插件安装包是否被伪造或被篡改。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图11是根据一示例性实施例示出的一种插件安装包上传装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图11所示,该插件安装包上传装置包括:
第一接收模块1101被配置为接收插件的所有相关文件;
计算模块1102被配置为将所有相关文件使用预设算法进行计算,得到第一数值;在一个实施例中,预设算法包括哈希算法。
加密模块1103被配置为使用加密密钥对第一数值进行加密,将加密后的第一数值写入签名文件;
第一生成模块1104被配置为将签名文件和所述所有相关文件进行打包,生成插件安装包;
第一上传模块1105被配置为上传插件安装包至预设服务器。
如图12所示,在一个实施例中,上述装置还包括:
第二接收模块1201被配置为接收输入的密钥生成命令;
第二生成模块1202被配置为根据密钥生成命令,生成加密密钥和与加密密钥对应的解密密钥。
如图13所示,在一个实施例中,上述装置还包括:
第二上传模块1301被配置为上传解密密钥至预设服务器,预设服务器用于将插件安装包和解密密钥进行对应存储。
如图14所示,在一个实施例中,上述第一生成模块1104包括:
安装包生成子模块1401被配置为将解密密钥、签名文件、所有相关文件进行打包生成插件安装包。
如图15所示,在一个实施例中,上述装置还包括:
第三上传模块1501被配置为上传插件安装包的属性信息至预设服务器,其中,属性信息中包括下述一项或多项:
插件安装包的名称、插件类型、插件所支持的最低应用版本。
图16是根据一示例性实施例示出的一种插件安装包安装装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图16所示,该插件安装包安装装置包括:
密钥获取模块1601被配置为在从预设服务器获取到插件安装包后,获取插件安装包对应的解密密钥,其中,插件安装包中包括插件的签名文件和所有相关文件,解密密钥与签名文件的加密密钥相对应;
加密模块1602被配置为使用解密密钥对加密后的第一数值进行解密,得到第一数值;
计算模块1603被配置为将所有相关文件使用预设算法进行计算,得到第二数值;在一个实施例中,预设算法包括哈希算法。
比较模块1604被配置为将第一数值和第二数值进行比较,得到比较结果;
确定模块1605被配置为根据比较结果确定是否允许安装插件安装包。
如图17所示,在一个实施例中,上述确定模块1605包括:
第一确定子模块1701被配置为在第一数值与第二数值相同时,确定插件的所有相关文件未被篡改,允许安装插件安装包;
第二确定子模块1702被配置为在第一数值与第二数值不同时,确定插件的所有相关文件被篡改,不允许安装插件安装包。
如图18所示,在一个实施例中,上述确定模块1605还包括:
信息获取子模块1801被配置为在确定插件的所有相关文件未被篡改后,从预设服务器中获取插件安装包的属性信息,其中,属性信息包括下述信息中的一项或多项:插件安装包的名称、插件类型、插件所支持的最低应用版本;
判断子模块1802被配置为判断欲安装的插件安装包的应用的当前版本号;
第一确定子模块1701用于,在当前版本号不低于最低应用版本号时,转向允许安装插件安装包的步骤;
第二确定子模块1702用于,在当前版本低于最低应用版本号时,转向不允许安装插件安装包的步骤。
如图19所示,在一个实施例中,上述密钥获取模块1601包括:
发送子模块1901被配置为在从预设服务器获取到插件安装包后,发送插件安装包对应的解密密钥的获取请求至预设服务器;
接收子模块1902被配置为接收预设服务器发送的与插件安装包对应的解密密钥;或者
解析子模块1903被配置为在从预设服务器获取到插件安装包后,对插件安装包进行解析获取其中包含的解密密钥。
根据本公开实施例的第五方面,提供一种插件安装包上传装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
接收插件的所有相关文件;
将所述所有相关文件使用预设算法进行计算,得到第一数值;
使用加密密钥对所述第一数值进行加密,将所述加密后的第一数值写入签名文件;
将签名文件和所述所有相关文件进行打包,生成插件安装包;
上传所述插件安装包至预设服务器。
上述处理器还可被配置为:
所述预设算法包括哈希算法。
上述处理器还可被配置为:
所述方法还包括:
接收输入的密钥生成命令;
根据所述密钥生成命令,生成所述加密密钥和与所述加密密钥对应的解密密钥。
上述处理器还可被配置为:
所述方法还包括:
上传所述解密密钥至所述预设服务器,所述预设服务器用于将所述插件安装包和所述解密密钥进行对应存储;或者
生成插件安装包,包括:
将所述解密密钥、签名文件、所述所有相关文件进行打包生成插件安装包。
上述处理器还可被配置为:
所述方法还包括:
上传所述插件安装包的属性信息至所述预设服务器,其中,所述属性信息中包括下述一项或多项:
插件安装包的名称、插件类型、插件所支持的最低应用版本。
根据本公开实施例的第六方面,提供一种插件安装包安装装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,处理器被配置为:
在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,其中,所述插件安装包中包括插件的签名文件和所有相关文件,所述解密密钥与所述签名文件的加密密钥相对应;
使用所述解密密钥对所述加密后的第一数值进行解密,得到第一数值;
将所述所有相关文件使用预设算法进行计算,得到第二数值;
将所述第一数值和所述第二数值进行比较,得到比较结果;
根据比较结果确定是否允许安装所述插件安装包。
上述处理器还可被配置为:
所述预设算法包括哈希算法。
上述处理器还可被配置为:
所述根据比较结果确定是否允许安装所述插件安装包,包括:
在所述第一数值与所述第二数值相同时,确定所述插件的所有相关文件未被篡改,允许安装所述插件安装包;
在所述第一数值与所述第二数值不同时,确定所述插件的所有相关文件被篡改,不允许安装所述插件安装包。
上述处理器还可被配置为:
确定所述插件的所有相关文件未被篡改之后,还包括:
从所述预设服务器中获取所述插件安装包的属性信息,其中,所述属性信息包括下述信息中的一项或多项:插件安装包的名称、插件类型、插件支持的最低应用版本号;
判断欲安装的所述插件安装包的应用的当前版本号;
在所述当前版本号不低于所述最低应用版本号时,转向允许安装所述插件安装包的步骤;
在所述当前版本低于所述最低应用版本号时,转向不允许安装所述插件安装包的步骤。
上述处理器还可被配置为:
所述在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,包括:
在从所述预设服务器获取到插件安装包后,发送所述插件安装包对应的解密密钥的获取请求至所述预设服务器;
接收所述预设服务器发送的与所述插件安装包对应的解密密钥;或者
在从所述预设服务器获取到插件安装包后,对所述插件安装包进行解析获取其中包含的解密密钥。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图20是根据一示例性实施例示出的一种用于插件安装包上传装置或插件安装包安装的框图,该装置适用于终端设备。例如,装置2000可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
装置2000可以包括以下一个或多个组件:处理组件2002,存储器2004,电源组件2006,多媒体组件2008,音频组件2010,输入/输出(I/O)的接口2012,传感器组件2014,以及通信组件2016。
处理组件2002通常控制装置2000的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件2002可以包括一个或多个处理器2012来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件2002可以包括一个或多个模块,便于处理组件2002和其他组件之间的交互。例如,处理部件2002可以包括多媒体模块,以方便多媒体组件2008和处理组件2002之间的交互。
存储器2004被配置为存储各种类型的数据以支持在设备2000的操作。这些数据的示例包括用于在装置2000上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器2004可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电力组件2006为装置2000的各种组件提供电力。电力组件2006可以包括电源管理系统,一个或多个电源,及其他与为装置2000生成、管理和分配电力相关联的组件。
多媒体组件2008包括在所述装置2000和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件2008包括一个前置摄像头和/或后置摄像头。当设备2000处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件2010被配置为输出和/或输入音频信号。例如,音频组件2010包括一个麦克风(MIC),当装置2000处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器2004或经由通信组件2016发送。在一些实施例中,音频组件2010还包括一个扬声器,用于输出音频信号。
I/O接口2012为处理组件2002和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件2014包括一个或多个传感器,用于为装置2000提供各个方面的状态评估。例如,传感器组件2014可以检测到设备2000的打开/关闭状态,组件的相对定位,例如所述组件为装置2000的显示器和小键盘,传感器组件2014还可以检测装置2000或装置2000一个组件的位置改变,用户与装置2000接触的存在或不存在,装置2000方位或加速/减速和装置2000的温度变化。传感器组件2014可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件2014还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件2014还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件2016被配置为便于装置2000和其他设备之间有线或无线方式的通信。装置2000可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件2016经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件2016还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置2000可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器2004,上述指令可由装置2000的处理器2020执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置2000的处理器执行时,使得装置2000能够执行上述插件安装包上传的方法,所述方法包括:
接收插件的所有相关文件;
将所述所有相关文件使用预设算法进行计算,得到第一数值;
使用加密密钥对所述第一数值进行加密,将所述加密后的第一数值写入签名文件;
将签名文件和所述所有相关文件进行打包,生成插件安装包;
上传所述插件安装包至预设服务器。
在一个实施例中,所述预设算法包括哈希算法。
在一个实施例中,所述方法还包括:
接收输入的密钥生成命令;
根据所述密钥生成命令,生成所述加密密钥和与所述加密密钥对应的解密密钥。
在一个实施例中,所述方法还包括:
上传所述解密密钥至所述预设服务器,所述预设服务器用于将所述插件安装包和所述解密密钥进行对应存储;或者
生成插件安装包,包括:
将所述解密密钥、签名文件、所述所有相关文件进行打包生成插件安装包。
在一个实施例中,所述方法还包括:
上传所述插件安装包的属性信息至所述预设服务器,其中,所述属性信息中包括下述一项或多项:
插件安装包的名称、插件类型、插件所支持的最低应用版本。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置2000的处理器执行时,使得装置2000能够执行上述插件安装包安装方法,所述方法包括:
在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,其中,所述插件安装包中包括插件的签名文件和所有相关文件,所述解密密钥与所述签名文件的加密密钥相对应;
使用所述解密密钥对所述加密后的第一数值进行解密,得到第一数值;
将所述所有相关文件使用预设算法进行计算,得到第二数值;
将所述第一数值和所述第二数值进行比较,得到比较结果;
根据比较结果确定是否允许安装所述插件安装包。
在一个实施例中,所述预设算法包括哈希算法。
在一个实施例中,所述根据比较结果确定是否允许安装所述插件安装包,包括:
在所述第一数值与所述第二数值相同时,确定所述插件的所有相关文件未被篡改,允许安装所述插件安装包;
在所述第一数值与所述第二数值不同时,确定所述插件的所有相关文件被篡改,不允许安装所述插件安装包。
在一个实施例中,确定所述插件的所有相关文件未被篡改之后,还包括:
从所述预设服务器中获取所述插件安装包的属性信息,其中,所述属性信息包括下述信息中的一项或多项:插件安装包的名称、插件类型、插件支持的最低应用版本号;
判断欲安装的所述插件安装包的应用的当前版本号;
在所述当前版本号不低于所述最低应用版本号时,转向允许安装所述插件安装包的步骤;
在所述当前版本低于所述最低应用版本号时,转向不允许安装所述插件安装包的步骤。
在一个实施例中,所述在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,包括:
在从所述预设服务器获取到插件安装包后,发送所述插件安装包对应的解密密钥的获取请求至所述预设服务器;
接收所述预设服务器发送的与所述插件安装包对应的解密密钥;或者
在从所述预设服务器获取到插件安装包后,对所述插件安装包进行解析获取其中包含的解密密钥。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (24)

1.一种插件安装包上传方法,其特征在于,所述方法包括:
接收插件的所有相关文件;
将所述所有相关文件使用预设算法进行计算,得到第一数值;
使用加密密钥对所述第一数值进行加密,将所述加密后的第一数值写入签名文件;
将签名文件和所述所有相关文件进行打包,生成插件安装包;
上传所述插件安装包至预设服务器。
2.根据权利要求1所述的方法,其特征在于,所述预设算法包括哈希算法。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收输入的密钥生成命令;
根据所述密钥生成命令,生成所述加密密钥和与所述加密密钥对应的解密密钥。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
上传所述解密密钥至所述预设服务器,所述预设服务器用于将所述插件安装包和所述解密密钥进行对应存储。
5.根据权利要求3所述的方法,其特征在于,所述生成插件安装包,包括:
将所述解密密钥、签名文件、所述所有相关文件进行打包生成插件安装包。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
上传所述插件安装包的属性信息至所述预设服务器,其中,所述属性信息包括下述信息中的一项或多项:
插件安装包的名称、插件类型、插件所支持的最低应用版本。
7.一种插件安装包安装方法,其特征在于,所述方法包括:
在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,其中,所述插件安装包中包括签名文件和插件的所有相关文件,所述解密密钥与所述签名文件中的加密后的第一数值的加密密钥相对应;
使用所述解密密钥对所述加密后的第一数值进行解密,得到第一数值;
将所述所有相关文件使用预设算法进行计算,得到第二数值;
将所述第一数值和所述第二数值进行比较,得到比较结果;
根据比较结果确定是否允许安装所述插件安装包。
8.根据权利要求7所述的方法,其特征在于,所述预设算法包括哈希算法。
9.根据权利要求7所述的方法,其特征在于,所述根据比较结果确定是否允许安装所述插件安装包,包括:
在所述第一数值与所述第二数值相同时,确定所述插件的所有相关文件未被篡改,允许安装所述插件安装包;
在所述第一数值与所述第二数值不同时,确定所述插件的所有相关文件被篡改,不允许安装所述插件安装包。
10.根据权利要求9所述的方法,其特征在于,确定所述插件的所有相关文件未被篡改之后,还包括:
从所述预设服务器中获取所述插件安装包的属性信息,其中,所述属性信息包括下述信息中的一项或多项:插件安装包的名称、插件类型、插件支持的最低应用版本号;
判断欲安装的所述插件安装包的应用的当前版本号;
在所述当前版本号不低于所述最低应用版本号时,转向允许安装所述插件安装包的步骤;
在所述当前版本低于所述最低应用版本号时,转向不允许安装所述插件安装包的步骤。
11.根据权利要求7至10中任一项所述的方法,其特征在于,所述在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,包括:
在从所述预设服务器获取到插件安装包后,发送所述插件安装包对应的解密密钥的获取请求至所述预设服务器;
接收所述预设服务器发送的与所述插件安装包对应的解密密钥;或者
在从所述预设服务器获取到插件安装包后,对所述插件安装包进行解析获取其中包含的解密密钥。
12.一种插件安装包上传装置,其特征在于,所述装置包括:
第一接收模块,用于接收插件的所有相关文件;
计算模块,用于将所述所有相关文件使用预设算法进行计算,得到第一数值;
加密模块,用于使用加密密钥对所述第一数值进行加密,将所述加密后的第一数值写入签名文件;
第一生成模块,用于将签名文件和所述所有相关文件进行打包,生成插件安装包;
第一上传模块,用于上传所述插件安装包至预设服务器。
13.根据权利要求12所述的装置,其特征在于,所述预设算法包括哈希算法。
14.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二接收模块,用于接收输入的密钥生成命令;
第二生成模块,用于根据所述密钥生成命令,生成所述加密密钥和与所述加密密钥对应的解密密钥。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第二上传模块,用于上传所述解密密钥至所述预设服务器,所述预设服务器用于将所述插件安装包和所述解密密钥进行对应存储。
16.根据权利要求14所述的装置,其特征在于,
所述第一生成模块包括:
安装包生成子模块,用于将所述解密密钥、签名文件、所述所有相关文件进行打包生成插件安装包。
17.根据权利要求12至16中任一项所述的装置,其特征在于,所述装置还包括:
第三上传模块,用于上传所述插件安装包的属性信息至所述预设服务器,其中,所述属性信息包括下述信息中的一项或多项:
插件安装包的名称、插件类型、插件所支持的最低应用版本。
18.一种插件安装包安装装置,其特征在于,所述装置包括:
密钥获取模块,用于在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,其中,所述插件安装包中包括签名文件和插件的所有相关文件,所述解密密钥与所述签名文件中的加密后的第一数值的加密密钥相对应;
加密模块,用于使用所述解密密钥对所述加密后的第一数值进行解密,得到第一数值;
计算模块,用于将所述所有相关文件使用预设算法进行计算,得到第二数值;
比较模块,用于将所述第一数值和所述第二数值进行比较,得到比较结果;
确定模块,用于根据比较结果确定是否允许安装所述插件安装包。
19.根据权利要求18所述的装置,其特征在于,所述预设算法包括哈希算法。
20.根据权利要求18所述的装置,其特征在于,所述确定模块包括:
第一确定子模块,用于在所述第一数值与所述第二数值相同时,确定所述插件的所有相关文件未被篡改,允许安装所述插件安装包;
第二确定子模块,用于在所述第一数值与所述第二数值不同时,确定所述插件的所有相关文件被篡改,不允许安装所述插件安装包。
21.根据权利要求20所述的装置,其特征在于,所述确定模块还包括:
信息获取子模块,用于在确定所述插件的所有相关文件未被篡改后,从所述预设服务器中获取所述插件安装包的属性信息,其中,所述属性信息包括下述信息中的一项或多项:插件安装包的名称、插件类型、插件支持的最低应用版本号;
判断子模块,用于判断欲安装的所述插件安装包的应用的当前版本号;
所述第一确定子模块用于,在所述当前版本号不低于所述最低应用版本号时,转向允许安装所述插件安装包的步骤;
所述第二确定子模块用于,在所述当前版本低于所述最低应用版本号时,转向不允许安装所述插件安装包的步骤。
22.根据权利要求18至21中任一项所述的装置,其特征在于,所述密钥获取模块包括:
发送子模块,用于在从所述预设服务器获取到插件安装包后,发送所述插件安装包对应的解密密钥的获取请求至所述预设服务器;
接收子模块,用于接收所述预设服务器发送的与所述插件安装包对应的解密密钥;或者
解析子模块,用于在从所述预设服务器获取到插件安装包后,对所述插件安装包进行解析获取其中包含的解密密钥。
23.一种插件安装包上传装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收插件的所有相关文件;
将所述所有相关文件使用预设算法进行计算,得到第一数值;
使用加密密钥对所述第一数值进行加密,将所述加密后的第一数值写入签名文件;
将签名文件和所述所有相关文件进行打包,生成插件安装包;
上传所述插件安装包至预设服务器。
24.一种插件安装包安装装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
在从预设服务器获取到插件安装包后,获取所述插件安装包对应的解密密钥,其中,所述插件安装包中包括签名文件和插件的所有相关文件,所述解密密钥与所述签名文件中的加密后的第一数值的加密密钥相对应;
使用所述解密密钥对所述加密后的第一数值进行解密,得到第一数值;
将所述所有相关文件使用预设算法进行计算,得到第二数值;
将所述第一数值和所述第二数值进行比较,得到比较结果;
根据比较结果确定是否允许安装所述插件安装包。
CN201510406152.6A 2015-07-10 2015-07-10 插件安装包上传方法、安装方法及装置 Active CN105119888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510406152.6A CN105119888B (zh) 2015-07-10 2015-07-10 插件安装包上传方法、安装方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510406152.6A CN105119888B (zh) 2015-07-10 2015-07-10 插件安装包上传方法、安装方法及装置

Publications (2)

Publication Number Publication Date
CN105119888A true CN105119888A (zh) 2015-12-02
CN105119888B CN105119888B (zh) 2019-02-12

Family

ID=54667779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510406152.6A Active CN105119888B (zh) 2015-07-10 2015-07-10 插件安装包上传方法、安装方法及装置

Country Status (1)

Country Link
CN (1) CN105119888B (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812477A (zh) * 2016-04-15 2016-07-27 广州杰赛科技股份有限公司 一种云盘部署方法及系统
CN106156625A (zh) * 2016-08-01 2016-11-23 乐视控股(北京)有限公司 一种插件签名的方法及电子设备
CN106250194A (zh) * 2016-08-08 2016-12-21 广州视源电子科技股份有限公司 程序文件安装方法和装置
CN108304722A (zh) * 2017-12-21 2018-07-20 广州小鹏汽车科技有限公司 一种软件安装包及其生成方法、升级方法和系统
CN108959937A (zh) * 2018-06-29 2018-12-07 北京奇虎科技有限公司 插件处理方法、装置和设备
CN109033818A (zh) * 2018-07-16 2018-12-18 北京京东尚科信息技术有限公司 终端、验证方法和计算机可读存储介质
CN110443039A (zh) * 2019-08-09 2019-11-12 北京阿尔山区块链联盟科技有限公司 插件安全性的检测方法、装置以及电子设备
CN111061495A (zh) * 2019-12-25 2020-04-24 深圳Tcl新技术有限公司 应用的安装方法、终端设备及存储介质
CN112115517A (zh) * 2020-09-24 2020-12-22 北京人大金仓信息技术股份有限公司 一种数据库插件的检验方法、装置、设备及介质
WO2021228143A1 (zh) * 2020-05-15 2021-11-18 支付宝(杭州)信息技术有限公司 小程序启动方法、签名方法、装置、服务器及介质
CN113779558A (zh) * 2021-09-10 2021-12-10 中国电信集团系统集成有限责任公司 应用程序安装包的构建方法、安装方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185691A (zh) * 2011-03-31 2011-09-14 中山大学深圳研究院 基于数字家庭的综合业务卡信息加密方法
CN103631672A (zh) * 2012-08-20 2014-03-12 国基电子(上海)有限公司 具有数据备份和数据恢复功能的移动装置及方法
CN103795740A (zh) * 2012-10-29 2014-05-14 腾讯科技(深圳)有限公司 插件安装包的下载方法及下载终端
CN104683409A (zh) * 2013-11-29 2015-06-03 华为终端有限公司 终端间应用共享的方法和终端
CN104717301A (zh) * 2015-03-27 2015-06-17 北京奇虎科技有限公司 插件下载方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185691A (zh) * 2011-03-31 2011-09-14 中山大学深圳研究院 基于数字家庭的综合业务卡信息加密方法
CN103631672A (zh) * 2012-08-20 2014-03-12 国基电子(上海)有限公司 具有数据备份和数据恢复功能的移动装置及方法
CN103795740A (zh) * 2012-10-29 2014-05-14 腾讯科技(深圳)有限公司 插件安装包的下载方法及下载终端
CN104683409A (zh) * 2013-11-29 2015-06-03 华为终端有限公司 终端间应用共享的方法和终端
CN104717301A (zh) * 2015-03-27 2015-06-17 北京奇虎科技有限公司 插件下载方法及装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105812477A (zh) * 2016-04-15 2016-07-27 广州杰赛科技股份有限公司 一种云盘部署方法及系统
CN106156625A (zh) * 2016-08-01 2016-11-23 乐视控股(北京)有限公司 一种插件签名的方法及电子设备
CN106250194A (zh) * 2016-08-08 2016-12-21 广州视源电子科技股份有限公司 程序文件安装方法和装置
CN106250194B (zh) * 2016-08-08 2019-06-21 广州视源电子科技股份有限公司 程序文件安装方法和装置
CN108304722A (zh) * 2017-12-21 2018-07-20 广州小鹏汽车科技有限公司 一种软件安装包及其生成方法、升级方法和系统
CN108959937A (zh) * 2018-06-29 2018-12-07 北京奇虎科技有限公司 插件处理方法、装置和设备
CN109033818A (zh) * 2018-07-16 2018-12-18 北京京东尚科信息技术有限公司 终端、验证方法和计算机可读存储介质
CN110443039A (zh) * 2019-08-09 2019-11-12 北京阿尔山区块链联盟科技有限公司 插件安全性的检测方法、装置以及电子设备
CN111061495A (zh) * 2019-12-25 2020-04-24 深圳Tcl新技术有限公司 应用的安装方法、终端设备及存储介质
WO2021228143A1 (zh) * 2020-05-15 2021-11-18 支付宝(杭州)信息技术有限公司 小程序启动方法、签名方法、装置、服务器及介质
CN112115517A (zh) * 2020-09-24 2020-12-22 北京人大金仓信息技术股份有限公司 一种数据库插件的检验方法、装置、设备及介质
CN113779558A (zh) * 2021-09-10 2021-12-10 中国电信集团系统集成有限责任公司 应用程序安装包的构建方法、安装方法及装置

Also Published As

Publication number Publication date
CN105119888B (zh) 2019-02-12

Similar Documents

Publication Publication Date Title
CN105119888A (zh) 插件安装包上传方法、安装方法及装置
EP3605989A1 (en) Information sending method, information receiving method, apparatus, and system
CN104243484B (zh) 信息交互方法及装置、电子设备
CN104852911B (zh) 安全验证方法、装置及系统
CN104219058A (zh) 身份认证、身份授权方法及装置
CN105049213A (zh) 文件签名方法及装置
CN107241688A (zh) 应用安装包的签名、验证方法、装置及存储介质
CN104486083A (zh) 监控录像处理方法及装置
CN113242224B (zh) 授权方法及装置、电子设备和存储介质
CN104125067A (zh) 绑定账号与令牌密钥的方法、装置
CN104125055A (zh) 加密、解密方法及电子设备
CN104158659B (zh) 防伪验证方法、装置和系统
KR102507113B1 (ko) 암호화된 통신 세션의 모니터링 방법, 장치 및 시스템
CN104009837A (zh) 密钥更新方法、装置及终端
CN105471814A (zh) 账号管理方法及装置
CN105491250A (zh) 来电号码真伪的识别方法、装置及设备
CN104331668A (zh) 错误密码提示方法及装置
CN106685644B (zh) 通信加密方法和装置、网关、服务器、智能终端和系统
CN104869001A (zh) 短信认证方法及装置
CN105228141A (zh) 一种建立网络连接的方法、装置和系统
CN105282162A (zh) 账号管理业务的处理方法及装置
CN104468581A (zh) 登录应用程序的方法及装置
CN104852800A (zh) 数据传输方法及装置
CN104980919A (zh) 网络服务信息的获取方法及设备
CN104331672A (zh) 一种基于手环对图片进行保密处理的方法及装置

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