WO2018090642A1 - 应用程序升级方法、用户终端及存储介质 - Google Patents
应用程序升级方法、用户终端及存储介质 Download PDFInfo
- Publication number
- WO2018090642A1 WO2018090642A1 PCT/CN2017/091364 CN2017091364W WO2018090642A1 WO 2018090642 A1 WO2018090642 A1 WO 2018090642A1 CN 2017091364 W CN2017091364 W CN 2017091364W WO 2018090642 A1 WO2018090642 A1 WO 2018090642A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- configuration file
- application
- upgrade
- rsa
- version number
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一种应用程序升级方法,用户终端及计算机可读存储介质,该方法包括:从服务器中获取所述应用程序对应的配置文件(S100),所述配置文件通过RSA签名加密;对所获取的配置文件进行RSA验签(S102);根据验签后得到的配置文件内容判断所述应用程序是否需要升级(S104);当判断需要升级时,下载升级文件进行升级(S106)。由此可以有效地避免绕过版本的强制升级。
Description
优先权申明
本申请基于巴黎公约申明享有2016年11月15日递交的申请号为CN201611026893.2、名称为“应用程序升级方法及系统”的中国专利申请的优先权,该中国专利申请的整体内容以参考的方式结合在本申请中。
本发明涉及程序升级技术领域,尤其涉及应用程序升级方法、用户终端及计算机可读存储介质。
应用程序(APP)是指安装在手机等移动终端上的针对使用者的某种应用目的的客户端应用软件,例如某一家银行的手机银行APP。所述应用程序包含Android操作系统应用程序、iOS操作系统应用程序等。
客户端的应用程序升级与服务器密切相关。现有的应用程序升级方案主要分为两种:一种是服务器简单地将最新版本号及下载地址、是否升级的开关下发给应用程序,由客户端来决定是否升级;另一种是客户端将现有应用程序版本号上传给服务器,由服务器强制应用程序进行升级。现有的这两种方案均容易绕过升级,而继续使用有缺陷的旧版本。
发明内容
有鉴于此,本发明的目的在于提供一种应用程序升级方法、用户终端及计算机可读存储介质,以解决如何有效防止绕过升级的问题。
为实现上述目的,本发明提供一种应用程序升级方法,该方法包括步骤:
从服务器中获取所述应用程序对应的配置文件,所述配置文件通过RSA公钥加密算法签名加密;
对所获取的配置文件进行RSA验签;
根据验签后得到的配置文件内容判断所述应用程序是否需要升级;及
当判断需要升级时,下载升级文件进行升级。
为实现上述目的,本发明还提出一种用户终端,该用户终端包括存储器及处理器,该存储器上存储有应用程序升级程序,该应用程序升级程序被该处理器执行,实现以下操作:
从服务器中获取所述应用程序对应的配置文件,所述配置文件通过RSA公钥加密算法签名加密;
对所获取的配置文件进行RSA验签;
根据验签后得到的配置文件内容判断所述应用程序是否需要升级;及
当判断需要升级时,下载升级文件进行升级。
为实现上述目的,本发明还提出一种计算机可读存储介质,该计算机可读存储介质上存储有应用程序升级程序,该以结果用程序升级程序可被至少一处理器执行,以实现以下操作:
从服务器中获取所述应用程序对应的配置文件,所述配置文件通过RSA公钥加密算法签名加密;
对所获取的配置文件进行RSA验签;
根据验签后得到的配置文件内容判断所述应用程序是否需要升级;及
当判断需要升级时,下载升级文件进行升级。
本发明的有益效果在于,本发明提出的应用程序升级方法、用户终端及计算机可读存储介质,通过对服务器中对应的配置文件通过RSA签名进行加密,从服务器获取该应用程序对应的配置文件时需要进行RSA验签,可以避免绕过版本的强制升级。并且,针对应用程序的某个版本升级,可以修改相应的JSON文件,升级方便。
图1为本发明第一实施例提出的一种应用程序升级方法的流程图;
图2为本发明中服务器对配置文件进行加密的过程的具体流程图;
图3为图1中步骤S102的具体流程图;
图4为图1中步骤S104的具体流程图;
图5为本发明第二实施例提出的一种用户终端的示意图;
图6为图5中应用程序升级程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
第一实施例
如图1所示,本发明第一实施例提出一种应用程序升级方法,应用于客户端中。该方法包括以下步骤:
S100,从服务器中获取应用程序对应的配置文件。
具体地,在服务器上为每个应用程序的版本创建对应的配置文件,并对该配置文件进行加密。在本实施例中,所述配置文件为JSON文件。
参阅图2所示,为服务器对所述配置文件进行加密的过程的具体流程图。该流程包括步骤:
S200,将该配置文件对应的多个预设字符串数据拼接在一起。
在本实施例中,所述多个预设字符串包括:当前版本号、需要升级到的版
本号、下载地址、是否需要强制升级的开关。所述配置文件中定义了所述多个预设字符串的内容。服务器将该应用程序对应的当前版本号、需要升级到的版本号、下载地址、是否需要强制升级的开关这四个字符串的数据进行拼接,形成一个拼接后的字符串,记为第一拼接字符串。
S202,对拼接后的字符串进行哈希运算。
在本实施例中,服务器对所述第一拼接字符串进行哈希运算,得到的结果记为第一哈希数据。
S204,对哈希运算的结果通过RSA(公钥加密算法)签名加密。
在本实施例中,服务器对包含所述第一哈希数据的配置文件通过RSA签名进行加密。所述RSA签名的信息应该与客户端中预置在该应用程序中的RSA公钥信息一致。
回到图1,S102,对所获取的配置文件进行RSA验签。
具体地,参阅图3所示,为所述步骤S102的具体流程图。该流程包括步骤:
S300,读取预置在该应用程序中的RSA公钥。
具体地,所述RSA公钥预置在该应用程序的代码或配置文件中。
S302,比较该RSA公钥与所获取的配置文件的RSA签名是否一致。若一致,则执行步骤S304。若不一致,则执行步骤S312。
具体地,客户端根据该RSA公钥对所获取的配置文件进行RSA解密,若该RSA公钥与所获取的配置文件的RSA签名一致,则解密得到中间文件。所述中间文件中包括服务器对所述拼接后的字符串进行哈希运算后的结果,即第一哈希数据。
S304,接收服务器发送的所述多个预设字符串数据。
具体地,客户端接收与该应用程序对应的当前版本号、需要升级到的版本号、下载地址、是否需要强制升级的开关这四个字符串的数据。
S306,根据接收到的所述多个预设字符串数据进行字符串拼接和哈希运算。
具体地,客户端对从服务器接收到的与该应用程序对应的当前版本号、需要升级到的版本号、下载地址、是否需要强制升级的开关这四个字符串的数据也进行拼接,形成一个拼接后的字符串,记为第二拼接字符串。然后对该第二拼接字符串进行哈希运算,得到的结果记为第二哈希数据。
S308,比较本地得到的哈希运算结果和所获取的配置文件解密后的结果是否一致。若一致,则执行步骤S310。若不一致,则执行步骤S312。
在本实施例中,所述本地得到的哈希运算结果即为所述第二哈希数据,所获取的配置文件解密后的结果即为所述第一哈希数据。客户端比较所述第二哈希数据和所述第一哈希数据是否一致,从而判断验签是否成功。
S310,判断验签成功。
在本实施例中,当所述第二哈希数据和所述第一哈希数据一致时,客户端判断验签成功,可以读取所获取的配置文件中的内容。
S312,判断验签失败。
在本实施例中,当所述第二哈希数据和所述第一哈希数据不一致时,客户
端判断验签失败,无法读取所获取的配置文件中的内容。
回到图1,S104,根据验签后得到的配置文件内容判断该应用程序是否需要升级。若需要升级,则执行步骤S106。若不需要升级,则流程结束。
具体地,参阅图4所示,为所述步骤S104的具体流程图。该流程包括步骤:
S400,读取该应用程序自身存储的版本号。
S402,从验签后得到的配置文件中读取所记录的当前版本号。
S404,判断该应用程序的版本号是否等于或小于所述配置文件中的当前版本号。若是,则执行步骤S406-S408。若否,则执行步骤S412。
具体地,客户端比较该应用程序自身存储的版本号与所述配置文件中的当前版本号。若该应用程序自身存储的版本号等于所述配置文件中的当前版本号,表示客户端中该应用程序的版本与所述配置文件中记录的当前版本相同,因此需要升级。若该应用程序自身存储的版本号小于所述配置文件中的当前版本号,表示客户端中该应用程序的版本比所述配置文件中记录的当前版本更陈旧,因此需要升级。
S406,从验签后得到的配置文件中读取是否需要强制升级的开关。
S408,根据所述是否需要强制升级的开关判断该应用程序是否需要升级。若该开关为开,则执行步骤S410,判断该应用程序需要升级。若该开关为关,则执行步骤S412,判断该应用程序不需要升级。
回到图1,S106,下载升级文件进行升级。
具体地,客户端从验签后得到的配置文件中读取该应用程序的升级文件的下载地址,从而下载对应的升级文件,完成对所述应用程序的该次升级。
本实施例提出的应用程序升级方法,对服务器中对应的配置文件通过RSA签名进行加密,客户端从服务器获取该配置文件时需要进行RSA验签,可以避免绕过版本的强制升级。并且,针对应用程序的某个版本升级,可以修改相应的JSON文件,升级方便。
第二实施例
如图5所示,本发明第二实施例提出一种用户终端。该用户终端包括,但不仅限于,存储器11、处理器12、通信总线13及网络接口14。其中,通信总线13用于实现这些组件之间的连接通信。
其中,所述用户终端可以是智能手机、平板电脑、笔记本、桌上型计算机、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器等具有数据处理功能的终端设备。
存储器11包括内存及至少一种类型的可读存储介质。内存为用户终端的运行提供缓存;可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述用户终端的内部存储单元,例如该用户终端的硬盘或内存。在另一些实施例中,所述可读存储介质也可以是所述用户终端的外部存储设备,例如所述用户终端上配备的
插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述用户终端的应用软件及各类数据,例如应用程序升级程序500等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行所述存储器11中存储的程序代码或处理数据。该处理器12执行应用程序升级程序500,可实现上述应用程序升级方法的任一步骤。
网络接口14可以包括标准的有线接口、无线接口(如WI-FI接口)。
图5仅示出了具有组件11-14的用户终端,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选的,该用户终端还可以包括用户接口,用户接口可以包括标准的有线接口、无线接口。例如,输入单元比如键盘(Keyboard)、有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。该用户接口可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到终端的一个或多个元件。
可选地,该用户终端还可以包括显示器,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。所述显示器用于显示在所述用户终端中处理的信息以及用于显示可视化的用户界面等。
在本实施例中,如图6所示,所述的应用程序升级程序500可以被分割成获取模块502、验证模块504、判断模块506及升级模块508。当处理器12执行各模块的计算机程序指令段时,基于各个计算机程序指令段所能实现的操作和功能,可实现上述应用程序升级方法的任一步骤。以下描述将具体介绍所述获取模块502、验证模块504、判断模块506及升级模块508所实现的操作和功能。
所述获取模块502,用于从服务器中获取应用程序对应的配置文件。
具体地,在服务器上为每个应用程序的版本创建对应的配置文件,并对该配置文件进行加密。在本实施例中,所述配置文件为JSON文件。
在本实施例中,服务器对该配置文件进行加密的过程具体包括:
服务器将该配置文件对应的多个预设字符串数据拼接在一起。在本实施例中,所述多个预设字符串包括:当前版本号、需要升级到的版本号、下载地址、是否需要强制升级的开关。所述配置文件中定义了所述多个预设字符串的内容。服务器将该应用程序对应的当前版本号、需要升级到的版本号、下载地址、是否需要强制升级的开关这四个字符串的数据进行拼接,形成一个拼接后的字符串,记为第一拼接字符串。
服务器对拼接后的字符串进行哈希运算。在本实施例中,服务器对所述第一拼接字符串进行哈希运算,得到的结果记为第一哈希数据。
服务器对哈希运算的结果通过RSA签名加密。在本实施例中,服务器对包含所述第一哈希数据的配置文件通过RSA签名进行加密。所述RSA签名的信息应该与客户端中预置在该应用程序中的RSA公钥信息一致。
所述验证模块504,用于对所获取的配置文件进行RSA验签。
在本实施例中,所述RSA验签的过程具体包括:
验证模块504读取预置在该应用程序中的RSA公钥。具体地,所述RSA公钥预置在该应用程序的代码或配置文件中。
验证模块504比较该RSA公钥与所获取的配置文件的RSA签名是否一致。若该RSA公钥与所获取的配置文件的RSA签名一致,则验证模块504根据该RSA公钥对所获取的配置文件进行RSA解密,得到中间文件。所述中间文件中包括服务器对所述拼接后的字符串进行哈希运算后的结果,即第一哈希数据。若该RSA公钥与所获取的配置文件的RSA签名不一致,则验证模块504判断验签失败。
验证模块504接收服务器发送的所述多个预设字符串数据。具体地,验证模块504接收与该应用程序对应的当前版本号、需要升级到的版本号、下载地址、是否需要强制升级的开关这四个字符串的数据。
验证模块504根据接收到的所述多个预设字符串数据进行字符串拼接和哈希运算。具体地,验证模块504对从服务器接收到的与该应用程序对应的当前版本号、需要升级到的版本号、下载地址、是否需要强制升级的开关这四个字符串的数据也进行拼接,形成一个拼接后的字符串,记为第二拼接字符串。然后对该第二拼接字符串进行哈希运算,得到的结果记为第二哈希数据。
验证模块504比较本地得到的哈希运算结果和所获取的配置文件解密后的结果是否一致。在本实施例中,所述本地得到的哈希运算结果即为所述第二哈希数据,所获取的配置文件解密后的结果即为所述第一哈希数据。客户端比较所述第二哈希数据和所述第一哈希数据是否一致。若一致,则验证模块504判断验签成功,可以读取所获取的配置文件中的内容。若不一致,则验证模块504判断验签失败,无法读取所获取的配置文件中的内容。
所述判断模块506,用于根据验签后得到的配置文件内容判断该应用程序是否需要升级。
在本实施例中,所述判断该应用程序是否需要升级的过程具体包括:
判断模块506读取该应用程序自身存储的版本号,并从验签后得到的配置文件中读取所记录的当前版本号。然后判断该应用程序的版本号是否等于或小于所述配置文件中的当前版本号。具体地,判断模块506比较该应用程序自身存储的版本号与所述配置文件中的当前版本号。若该应用程序自身存储的版本号等于所述配置文件中的当前版本号,表示客户端中该应用程序的版本与所述配置文件中记录的当前版本相同,因此需要升级。若该应用程序自身存储的版本号小于所述配置文件中的当前版本号,表示客户端中该应用程序的版本比所述配置文件中记录的当前版本更陈旧,因此需要升级。
当该应用程序的版本号等于或小于所述配置文件中的当前版本号时,判断
模块506继续从验签后得到的配置文件中读取是否需要强制升级的开关,然后根据所述是否需要强制升级的开关判断该应用程序是否需要升级。若该开关为开,则判断模块506判断该应用程序需要升级。若该开关为关,则判断模块506判断该应用程序不需要升级。
所述升级模块508,用于当判断该应用程序需要升级时,下载升级文件进行升级。
具体地,升级模块508从验签后得到的配置文件中读取该应用程序的升级文件的下载地址,从而下载对应的升级文件,完成对所述应用程序的该次升级。
本实施例提出的用户终端,对服务器中对应的配置文件通过RSA签名进行加密,从服务器获取该配置文件时需要进行RSA验签,可以避免绕过版本的强制升级。并且,针对应用程序的某个版本升级,可以修改相应的JSON文件,升级方便。
第三实施例
本发明第三实施例还提出一种计算机可读存储介质,该计算机可读存储介质上存储有应用程序升级程序,该应用程序升级程序被该处理器执行时,可实现如下步骤:
从服务器中获取所述应用程序对应的配置文件,所述配置文件通过RSA公钥加密算法签名加密;
对所获取的配置文件进行RSA验签;
根据验签后得到的配置文件内容判断所述应用程序是否需要升级;及
当判断需要升级时,下载升级文件进行升级。
优选地,所述服务器对所述配置文件进行加密的过程具体包括:
将所述配置文件对应的多个预设字符串数据拼接在一起;
对拼接后的字符串进行哈希运算;
对哈希运算的结果通过RSA签名加密。
优选地,所述多个预设字符串包括:当前版本号、需要升级到的版本号、下载地址、是否需要强制升级的开关。
优选地,所述配置文件为JSON文件,所述配置文件中定义了所述多个预设字符串的内容。
优选地,所述对所获取的配置文件进行RSA验签的步骤具体包括:
读取预置在所述应用程序中的RSA公钥;
比较所述RSA公钥与所获取的配置文件的RSA签名是否一致;
若所述RSA公钥与所述RSA签名一致,则接收服务器发送的所述多个预设字符串数据;
根据接收到的所述多个预设字符串数据进行字符串拼接和哈希运算;
比较本地得到的哈希运算结果和所获取的配置文件解密后的结果是否一致;
若结果一致,则判断验签成功;
若结果不一致或所述RSA公钥与所述RSA签名不一致,则判断验签失败。
优选地,所述根据验签后得到的配置文件内容判断所述应用程序是否需要升级的步骤具体包括:
读取所述应用程序自身存储的版本号;
从验签后得到的配置文件中读取所记录的当前版本号;
判断所述应用程序自身存储的版本号是否等于或小于所述当前版本号;
若是,则从验签后得到的配置文件中读取是否需要强制升级的开关;
根据所述是否需要强制升级的开关判断该应用程序是否需要升级。
本发明之计算机可读存储介质的具体实施方式与上述应用程序升级方法的实施例大致相同,故不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (20)
- 一种应用程序升级方法,其特征在于,该方法包括步骤:从服务器中获取所述应用程序对应的配置文件,所述配置文件通过RSA公钥加密算法签名加密;对所获取的配置文件进行RSA验签;根据验签后得到的配置文件内容判断所述应用程序是否需要升级;及当判断需要升级时,下载升级文件进行升级。
- 根据权利要求1所述的应用程序升级方法,其特征在于,所述服务器对所述配置文件进行加密的过程具体包括:将所述配置文件对应的多个预设字符串数据拼接在一起;对拼接后的字符串进行哈希运算;对哈希运算的结果通过RSA签名加密。
- 根据权利要求2所述的应用程序升级方法,其特征在于,所述多个预设字符串包括:当前版本号、需要升级到的版本号、下载地址、是否需要强制升级的开关。
- 根据权利要求2所述的应用程序升级方法,其特征在于,所述配置文件为JSON文件,所述配置文件中定义了所述多个预设字符串的内容。
- 根据权利要求3所述的应用程序升级方法,其特征在于,所述配置文件为JSON文件,所述配置文件中定义了所述多个预设字符串的内容。
- 根据权利要求2所述的应用程序升级方法,其特征在于,所述对所获取的配置文件进行RSA验签的步骤具体包括:读取预置在所述应用程序中的RSA公钥;比较所述RSA公钥与所获取的配置文件的RSA签名是否一致;若所述RSA公钥与所述RSA签名一致,则接收服务器发送的所述多个预设字符串数据;根据接收到的所述多个预设字符串数据进行字符串拼接和哈希运算;比较本地得到的哈希运算结果和所获取的配置文件解密后的结果是否一致;若结果一致,则判断验签成功;若结果不一致或所述RSA公钥与所述RSA签名不一致,则判断验签失败。
- 根据权利要求3所述的应用程序升级方法,其特征在于,所述根据验签后得到的配置文件内容判断所述应用程序是否需要升级的步骤具体包括:读取所述应用程序自身存储的版本号;从验签后得到的配置文件中读取所记录的当前版本号;判断所述应用程序自身存储的版本号是否等于或小于所述当前版本号;若是,则从验签后得到的配置文件中读取是否需要强制升级的开关;根据所述是否需要强制升级的开关判断该应用程序是否需要升级。
- 一种用户终端,其特征在于,该用户终端包括:存储器及处理器,该存 储器存储有应用程序升级程序,该应用程序升级程序程序被所述处理器执行,实现以下操作:从服务器中获取所述应用程序对应的配置文件,所述配置文件通过RSA公钥加密算法签名加密;对所获取的配置文件进行RSA验签;根据验签后得到的配置文件内容判断所述应用程序是否需要升级;及当判断需要升级时,下载升级文件进行升级。
- 根据权利要求8所述的用户终端,其特征在于,所述服务器对所述配置文件进行加密的过程具体包括:将所述配置文件对应的多个预设字符串数据拼接在一起;对拼接后的字符串进行哈希运算;对哈希运算的结果通过RSA签名加密。
- 根据权利要求9所述的用户终端,其特征在于,所述多个预设字符串包括:当前版本号、需要升级到的版本号、下载地址、是否需要强制升级的开关。
- 根据权利要求9所述的用户终端,其特征在于,所述配置文件为JSON文件,所述配置文件中定义了所述多个预设字符串的内容。
- 根据权利要求10所述的用户终端,其特征在于,所述配置文件为JSON文件,所述配置文件中定义了所述多个预设字符串的内容。
- 根据权利要求9所述的用户终端,其特征在于,所述对所获取的配置文件进行RSA验签的步骤具体包括:读取预置在所述应用程序中的RSA公钥;比较所述RSA公钥与所获取的配置文件的RSA签名是否一致;若所述RSA公钥与所述RSA签名一致,则接收服务器发送的所述多个预设字符串数据;根据接收到的所述多个预设字符串数据进行字符串拼接和哈希运算;比较本地得到的哈希运算结果和所获取的配置文件解密后的结果是否一致;若结果一致,则判断验签成功;若结果不一致或所述RSA公钥与所述RSA签名不一致,则判断验签失败。
- 根据权利要求10所述的用户终端,其特征在于,所述根据验签后得到的配置文件内容判断所述应用程序是否需要升级的步骤具体包括:读取所述应用程序自身存储的版本号;从验签后得到的配置文件中读取所记录的当前版本号;判断所述应用程序自身存储的版本号是否等于或小于所述当前版本号;若是,则从验签后得到的配置文件中读取是否需要强制升级的开关;根据所述是否需要强制升级的开关判断该应用程序是否需要升级。
- 一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有应用程序升级程序,该应用程序升级程序可被至少一处理器执行,以实现 以下操作:从服务器中获取所述应用程序对应的配置文件,所述配置文件通过RSA公钥加密算法签名加密;对所获取的配置文件进行RSA验签;根据验签后得到的配置文件内容判断所述应用程序是否需要升级;及当判断需要升级时,下载升级文件进行升级。
- 根据权利要求15所述的计算机可读存储介质,其特征在于,所述服务器对所述配置文件进行加密的过程具体包括:将所述配置文件对应的多个预设字符串数据拼接在一起;对拼接后的字符串进行哈希运算;对哈希运算的结果通过RSA签名加密。
- 根据权利要求16所述的计算机可读存储介质,其特征在于,所述多个预设字符串包括:当前版本号、需要升级到的版本号、下载地址、是否需要强制升级的开关。
- 根据权利要求16所述的计算机可读存储介质,其特征在于,所述配置文件为JSON文件,所述配置文件中定义了所述多个预设字符串的内容。
- 根据权利要求16所述的计算机可读存储介质,其特征在于,所述对所获取的配置文件进行RSA验签的步骤具体包括:读取预置在所述应用程序中的RSA公钥;比较所述RSA公钥与所获取的配置文件的RSA签名是否一致;若所述RSA公钥与所述RSA签名一致,则接收服务器发送的所述多个预设字符串数据;根据接收到的所述多个预设字符串数据进行字符串拼接和哈希运算;比较本地得到的哈希运算结果和所获取的配置文件解密后的结果是否一致;若结果一致,则判断验签成功;若结果不一致或所述RSA公钥与所述RSA签名不一致,则判断验签失败。
- 根据权利要求17所述的计算机可读存储介质,其特征在于,所述根据验签后得到的配置文件内容判断所述应用程序是否需要升级的步骤具体包括:读取所述应用程序自身存储的版本号;从验签后得到的配置文件中读取所记录的当前版本号;判断所述应用程序自身存储的版本号是否等于或小于所述当前版本号;若是,则从验签后得到的配置文件中读取是否需要强制升级的开关;根据所述是否需要强制升级的开关判断该应用程序是否需要升级。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611026893.2A CN107704280B (zh) | 2016-11-15 | 2016-11-15 | 应用程序升级方法及系统 |
CN201611026893.2 | 2016-11-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2018090642A1 true WO2018090642A1 (zh) | 2018-05-24 |
Family
ID=61168427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2017/091364 WO2018090642A1 (zh) | 2016-11-15 | 2017-06-30 | 应用程序升级方法、用户终端及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107704280B (zh) |
WO (1) | WO2018090642A1 (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522060A (zh) * | 2018-10-16 | 2019-03-26 | 深圳壹账通智能科技有限公司 | 业务场景的还原方法及终端设备 |
CN109800007A (zh) * | 2018-12-28 | 2019-05-24 | 航天信息股份有限公司 | Dsp芯片在线升级方法以及装置 |
CN110674511A (zh) * | 2019-08-30 | 2020-01-10 | 深圳壹账通智能科技有限公司 | 基于椭圆曲线加密算法的离线数据保护方法及系统 |
CN110990084A (zh) * | 2019-12-20 | 2020-04-10 | 紫光展讯通信(惠州)有限公司 | 芯片的安全启动方法、装置、存储介质和终端 |
CN110990266A (zh) * | 2019-11-15 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种测试服务器性能的方法、设备以及存储介质 |
CN111126965A (zh) * | 2019-12-25 | 2020-05-08 | 深圳前海环融联易信息科技服务有限公司 | 审核规则优化方法、装置、计算机设备以及存储介质 |
CN111610990A (zh) * | 2019-02-25 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种应用程序升级的方法、装置和相关系统 |
CN111610996A (zh) * | 2020-05-26 | 2020-09-01 | 东信和平科技股份有限公司 | Ic卡个人化软件升级、生产、抽检方法及系统 |
CN112417422A (zh) * | 2020-11-23 | 2021-02-26 | 深圳市中易通安全芯科技有限公司 | 安全芯片升级方法及计算机可读存储介质 |
CN112433964A (zh) * | 2020-04-17 | 2021-03-02 | 上海哔哩哔哩科技有限公司 | 一种清理缓存脏数据的方法及设备 |
CN113407205A (zh) * | 2021-05-25 | 2021-09-17 | 海南视联通信技术有限公司 | 一种设备升级方法、装置、设备和可读存储介质 |
CN113625999A (zh) * | 2021-08-10 | 2021-11-09 | 未鲲(上海)科技服务有限公司 | 应用程序的生成方法、装置、设备及存储介质 |
CN115314386A (zh) * | 2022-08-08 | 2022-11-08 | 矩阵时光数字科技有限公司 | 一种量子安全设备的固件升级系统 |
CN115659419A (zh) * | 2022-12-27 | 2023-01-31 | 北京象帝先计算技术有限公司 | 一种数字签名方法、装置、芯片及电子设备 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901860B (zh) * | 2019-02-21 | 2022-07-01 | 华数传媒网络有限公司 | 一种Android手机软件版本控制方法 |
CN111026419A (zh) * | 2019-11-08 | 2020-04-17 | 深圳市有方科技股份有限公司 | 一种单片机的应用程序升级方法、装置及系统 |
CN111143855A (zh) * | 2019-12-25 | 2020-05-12 | 惠州华阳通用电子有限公司 | 一种集成升级文件制作及其升级方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050128520A1 (en) * | 2003-12-16 | 2005-06-16 | Jeff Glickman | Digital signature protection for software |
CN101090452A (zh) * | 2007-07-18 | 2007-12-19 | 中国网络通信集团公司 | 机顶盒软件升级方法及升级系统 |
CN101163044A (zh) * | 2007-11-12 | 2008-04-16 | 北京深思洛克数据保护中心 | 信息安全设备的远程升级方法及系统 |
US20120039462A1 (en) * | 2010-08-12 | 2012-02-16 | Electronics And Telecommunications Research Institute | Rsa signature method and apparatus |
CN103873440A (zh) * | 2012-12-11 | 2014-06-18 | 北京旋极信息技术股份有限公司 | 一种应用程序的升级方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102955700A (zh) * | 2011-08-18 | 2013-03-06 | 腾讯科技(深圳)有限公司 | 软件升级系统及方法 |
US20140282371A1 (en) * | 2013-03-14 | 2014-09-18 | Media Direct, Inc. | Systems and methods for creating or updating an application using a pre-existing application |
CN103401906B (zh) * | 2013-07-23 | 2016-08-31 | 国电南瑞科技股份有限公司 | 一种安全联锁装置的远程配置方法 |
CN103596049A (zh) * | 2013-11-21 | 2014-02-19 | 乐视致新电子科技(天津)有限公司 | 智能电视及其升级方法和升级装置 |
CN104702631B (zh) * | 2013-12-04 | 2018-04-10 | 航天信息股份有限公司 | 一种客户端软件的升级方法和系统 |
-
2016
- 2016-11-15 CN CN201611026893.2A patent/CN107704280B/zh active Active
-
2017
- 2017-06-30 WO PCT/CN2017/091364 patent/WO2018090642A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050128520A1 (en) * | 2003-12-16 | 2005-06-16 | Jeff Glickman | Digital signature protection for software |
CN101090452A (zh) * | 2007-07-18 | 2007-12-19 | 中国网络通信集团公司 | 机顶盒软件升级方法及升级系统 |
CN101163044A (zh) * | 2007-11-12 | 2008-04-16 | 北京深思洛克数据保护中心 | 信息安全设备的远程升级方法及系统 |
US20120039462A1 (en) * | 2010-08-12 | 2012-02-16 | Electronics And Telecommunications Research Institute | Rsa signature method and apparatus |
CN103873440A (zh) * | 2012-12-11 | 2014-06-18 | 北京旋极信息技术股份有限公司 | 一种应用程序的升级方法和系统 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109522060A (zh) * | 2018-10-16 | 2019-03-26 | 深圳壹账通智能科技有限公司 | 业务场景的还原方法及终端设备 |
CN109800007A (zh) * | 2018-12-28 | 2019-05-24 | 航天信息股份有限公司 | Dsp芯片在线升级方法以及装置 |
CN111610990B (zh) * | 2019-02-25 | 2023-05-16 | 阿里巴巴集团控股有限公司 | 一种应用程序升级的方法、装置和相关系统 |
CN111610990A (zh) * | 2019-02-25 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种应用程序升级的方法、装置和相关系统 |
CN110674511A (zh) * | 2019-08-30 | 2020-01-10 | 深圳壹账通智能科技有限公司 | 基于椭圆曲线加密算法的离线数据保护方法及系统 |
CN110990266B (zh) * | 2019-11-15 | 2022-12-16 | 苏州浪潮智能科技有限公司 | 一种测试服务器性能的方法、设备以及存储介质 |
CN110990266A (zh) * | 2019-11-15 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种测试服务器性能的方法、设备以及存储介质 |
CN110990084A (zh) * | 2019-12-20 | 2020-04-10 | 紫光展讯通信(惠州)有限公司 | 芯片的安全启动方法、装置、存储介质和终端 |
CN110990084B (zh) * | 2019-12-20 | 2023-01-24 | 紫光展讯通信(惠州)有限公司 | 芯片的安全启动方法、装置、存储介质和终端 |
CN111126965B (zh) * | 2019-12-25 | 2023-08-29 | 深圳前海环融联易信息科技服务有限公司 | 审核规则优化方法、装置、计算机设备以及存储介质 |
CN111126965A (zh) * | 2019-12-25 | 2020-05-08 | 深圳前海环融联易信息科技服务有限公司 | 审核规则优化方法、装置、计算机设备以及存储介质 |
CN112433964A (zh) * | 2020-04-17 | 2021-03-02 | 上海哔哩哔哩科技有限公司 | 一种清理缓存脏数据的方法及设备 |
CN111610996A (zh) * | 2020-05-26 | 2020-09-01 | 东信和平科技股份有限公司 | Ic卡个人化软件升级、生产、抽检方法及系统 |
CN111610996B (zh) * | 2020-05-26 | 2023-04-07 | 东信和平科技股份有限公司 | Ic卡个人化软件升级、生产、抽检方法及系统 |
CN112417422A (zh) * | 2020-11-23 | 2021-02-26 | 深圳市中易通安全芯科技有限公司 | 安全芯片升级方法及计算机可读存储介质 |
CN113407205A (zh) * | 2021-05-25 | 2021-09-17 | 海南视联通信技术有限公司 | 一种设备升级方法、装置、设备和可读存储介质 |
CN113625999A (zh) * | 2021-08-10 | 2021-11-09 | 未鲲(上海)科技服务有限公司 | 应用程序的生成方法、装置、设备及存储介质 |
CN113625999B (zh) * | 2021-08-10 | 2024-04-09 | 北京阅见未来网络科技有限公司 | 应用程序的生成方法、装置、设备及存储介质 |
CN115314386A (zh) * | 2022-08-08 | 2022-11-08 | 矩阵时光数字科技有限公司 | 一种量子安全设备的固件升级系统 |
CN115314386B (zh) * | 2022-08-08 | 2024-02-20 | 矩阵时光数字科技有限公司 | 一种量子安全设备的固件升级系统 |
CN115659419A (zh) * | 2022-12-27 | 2023-01-31 | 北京象帝先计算技术有限公司 | 一种数字签名方法、装置、芯片及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107704280A (zh) | 2018-02-16 |
CN107704280B (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2018090642A1 (zh) | 应用程序升级方法、用户终端及存储介质 | |
US9626513B1 (en) | Trusted modular firmware update using digital certificate | |
US9509737B2 (en) | Client side encryption with recovery method | |
US9229706B2 (en) | Method and apparatus for field firmware updates in data storage systems | |
CN101924607B (zh) | 基于固件空中传输技术的固件处理方法、装置及系统 | |
CN104995629B (zh) | 用于平台引导固件的信任继续的方法、设备和系统 | |
TWI667586B (zh) | 用以核對uefi認證變量變化之系統及方法 | |
US10078599B2 (en) | Application access control method and electronic apparatus implementing the same | |
US9148415B2 (en) | Method and system for accessing e-book data | |
FI114416B (fi) | Menetelmä elektroniikkalaitteen varmistamiseksi, varmistusjärjestelmä ja elektroniikkalaite | |
US20140068593A1 (en) | System and Method for Sharing Information in a Private Ecosystem | |
US20150095652A1 (en) | Encryption and decryption processing method, apparatus, and device | |
US8839446B2 (en) | Protecting archive structure with directory verifiers | |
CN108763917B (zh) | 一种数据加解密方法及装置 | |
WO2021114614A1 (zh) | 应用程序安全启动方法、装置、计算机设备和存储介质 | |
US9495562B2 (en) | Removable storage device data protection | |
WO2018018781A1 (zh) | Sim卡信息传输方法及装置、计算机存储介质 | |
US9258128B1 (en) | Systems and methods for creating customer-specific tools for generating certificate signing requests | |
US10230762B2 (en) | System and method for sharing information in a private ecosystem | |
US9092612B2 (en) | Method and system for secure access to data files copied onto a second storage device from a first storage device | |
US20160350537A1 (en) | Central processing unit and method to verify mainboard data | |
KR20210017268A (ko) | 사용자 데이터에 대해 암호화 동작을 수행하는 전자 장치 | |
WO2016173267A1 (zh) | 一种完整性校验方法和装置 | |
US20140325642A1 (en) | Storage device reader having security function and security method using thereof | |
WO2007065341A1 (fr) | Procede et appareil de verification de fichier image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17872466 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11/09/2019) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 17872466 Country of ref document: EP Kind code of ref document: A1 |