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
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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
Definitions
- the present invention relates to the field of program upgrade technologies, and in particular, to an application upgrade method, a user terminal, and a computer readable storage medium.
- An application refers to a client application software installed on a mobile terminal such as a mobile phone for a certain application purpose of the user, such as a mobile banking APP of a certain bank.
- the application includes an Android operating system application, an iOS operating system application, and the like.
- Client application upgrades are closely related to the server.
- the existing application upgrade schemes are mainly divided into two types: one is that the server simply sends the latest version number and download address, whether the upgrade switch is sent to the application, and the client decides whether to upgrade; the other is the client.
- the existing application version number is uploaded to the server, and the server forces the application to upgrade. Both of the existing solutions are easy to bypass the upgrade and continue to use the old version that is defective.
- an object of the present invention is to provide an application upgrade method, a user terminal, and a computer readable storage medium to solve the problem of how to effectively prevent bypass upgrade.
- the present invention provides an application upgrade method, the method comprising the steps of:
- the present invention further provides a user terminal, which includes a memory and a processor, and the memory stores an application upgrade program, and the application upgrade program is executed by the processor to:
- the present invention further provides a computer readable storage medium having an application upgrade program stored thereon, the result program upgrade program being executable by at least one processor to implement the following operations :
- the application program upgrade method, the user terminal, and the computer readable storage medium provided by the present invention are encrypted by the RSA signature of the corresponding configuration file in the server, and the configuration file corresponding to the application is obtained from the server.
- An RSA check is required to avoid a forced upgrade of the bypass version.
- the corresponding JSON file can be modified, and the upgrade is convenient.
- FIG. 1 is a flowchart of an application upgrade method according to a first embodiment of the present invention
- FIG. 2 is a specific flowchart of a process for a server to encrypt a configuration file according to the present invention
- step S102 in FIG. 1 is a specific flowchart of step S102 in FIG. 1;
- step S104 in FIG. 1 is a specific flowchart of step S104 in FIG. 1;
- FIG. 5 is a schematic diagram of a user terminal according to a second embodiment of the present invention.
- FIG. 6 is a block diagram of the application upgrade program of FIG. 5.
- the first embodiment of the present invention provides an application upgrade method, which is applied to a client.
- the method includes the following steps:
- a corresponding configuration file is created on the server for each version of the application, and the configuration file is encrypted.
- the configuration file is a JSON file.
- FIG. 2 a specific flowchart of a process for the server to encrypt the configuration file. The process includes the steps:
- S200 Splicing a plurality of preset character string data corresponding to the configuration file.
- the multiple preset strings include: a current version number, and an upgrade version to be updated. This number, download address, whether you need to force the upgrade switch.
- the content of the plurality of preset character strings is defined in the configuration file.
- the server splices the data of the four versions of the current version number corresponding to the application, the version number to be upgraded, the download address, and the switch that needs to be upgraded to form a spliced string, which is recorded as the first splicing. String.
- the server performs a hash operation on the first spliced string, and the obtained result is recorded as the first hash data.
- the result of the hash operation is encrypted by RSA (public key encryption algorithm) signature.
- the server encrypts the configuration file containing the first hash data by using an RSA signature.
- the information of the RSA signature should be consistent with the RSA public key information preset in the application in the client.
- FIG. 3 it is a specific flowchart of the step S102.
- the process includes the steps:
- the RSA public key is preset in a code or a configuration file of the application.
- step S302. Compare whether the RSA public key is consistent with the RSA signature of the obtained configuration file. If they are consistent, step S304 is performed. If not, step S312 is performed.
- the client performs RSA decryption on the obtained configuration file according to the RSA public key. If the RSA public key matches the RSA signature of the obtained configuration file, the intermediate file is decrypted.
- the intermediate file includes a result of the server hashing the spliced character string, that is, the first hash data.
- the client receives the data of the four character strings of the current version number corresponding to the application, the version number to be upgraded, the download address, and whether the switch needs to be forced to be upgraded.
- S306. Perform string concatenation and hash operation according to the received plurality of preset character string data.
- the client splices the data of the four character strings received from the server, such as the current version number corresponding to the application, the version number to be upgraded, the download address, and whether the switch needs to be forced to be upgraded, to form a
- the stitched string is recorded as the second stitched string.
- the second spliced string is hashed, and the obtained result is recorded as the second hash data.
- step S308. Compare whether the locally obtained hash operation result is consistent with the obtained decrypted configuration file. If they are consistent, step S310 is performed. If not, step S312 is performed.
- the locally obtained hash operation result is the second hash data
- the obtained decrypted configuration file is the first hash data.
- the client compares whether the second hash data and the first hash data are consistent, thereby determining whether the verification is successful.
- the client determines that the verification is successful, and the content in the acquired configuration file may be read.
- step S104 it is determined whether the application needs to be upgraded according to the content of the configuration file obtained after the verification. If the upgrade is required, step S106 is performed. If no upgrade is required, the process ends.
- step S104 it is a specific flowchart of the step S104.
- the process includes the steps:
- step S404 Determine whether the version number of the application is equal to or smaller than a current version number in the configuration file. If yes, steps S406-S408 are performed. If no, step S412 is performed.
- the client compares the version number stored by the application itself with the current version number in the configuration file. If the application itself stores a version number equal to the current version number in the configuration file, it indicates that the version of the application in the client is the same as the current version recorded in the configuration file, and therefore needs to be upgraded. If the application itself stores a version number smaller than the current version number in the configuration file, it indicates that the version of the application in the client is older than the current version recorded in the configuration file, and therefore needs to be upgraded.
- step S408 Determine, according to the switch that needs to be forced to upgrade, whether the application needs to be upgraded. If the switch is on, step S410 is performed to determine that the application needs to be upgraded. If the switch is off, step S412 is performed to determine that the application does not need to be upgraded.
- the client reads the download address of the upgrade file of the application from the configuration file obtained after the verification, thereby downloading the corresponding upgrade file, and completing the upgrade to the application.
- the corresponding configuration file in the server is encrypted by the RSA signature.
- the RSA check is required to avoid the mandatory upgrade of the bypass version.
- the corresponding JSON file can be modified, and the upgrade is convenient.
- a second embodiment of the present invention provides a user terminal.
- the user terminal includes, but is not limited to, a memory 11, a processor 12, a communication bus 13, and a network interface 14.
- the communication bus 13 is used to implement connection communication between these components.
- the user terminal may be a smart phone, a tablet computer, a notebook, a desktop computer, an e-book reader, an MP3 (Moving Picture Experts Group Audio Layer III) player, and an MP4 ( Moving Picture Experts Group Audio Layer IV, dynamic image experts compress standard audio layers 4) Terminal devices with data processing functions such as players.
- MP3 Motion Picture Experts Group Audio Layer III
- MP4 Moving Picture Experts Group Audio Layer IV, dynamic image experts compress standard audio layers 4
- the memory 11 includes a memory and at least one type of readable storage medium.
- the memory provides a cache for the operation of the user terminal;
- the readable storage medium may be a non-volatile storage medium such as a flash memory, a hard disk, a multimedia card, a card type memory, or the like.
- the readable storage medium may be an internal storage unit of the user terminal, such as a hard disk or memory of the user terminal.
- the readable storage medium may also be an external storage device of the user terminal, such as that provided on the user terminal. Plug-in hard drives, Smart Memory Cards (SMC), Secure Digital (SD) cards, Flash Cards, etc.
- SMC Smart Memory Cards
- SD Secure Digital
- the readable storage medium of the memory 11 is generally used to store application software and various types of data installed in the user terminal, such as the application upgrade program 500.
- the memory 11 can also be used to temporarily store data that has been output or is about to be output.
- the processor 12 in some embodiments, may be a Central Processing Unit (CPU), microprocessor or other data processing chip for running program code or processing data stored in the memory 11.
- the processor 12 executes the application upgrade program 500 to implement any of the steps of the application upgrade method described above.
- Network interface 14 may include a standard wired interface, a wireless interface (such as a WI-FI interface).
- FIG. 5 shows only user terminals having components 11-14, but it should be understood that not all illustrated components may be implemented and that more or fewer components may be implemented instead.
- the user terminal may further include a user interface
- the user interface may include a standard wired interface and a wireless interface.
- an input unit such as a keyboard, a wired or wireless headset port, an external power (or battery charger) port, a wired or wireless data port, a memory card port, a port for connecting a device having an identification module, Audio input/output (I/O) ports, video I/O ports, headphone ports, and more.
- the user interface can be used to receive input from an external device (eg, data information, power, etc.) and transmit the received input to one or more components of the terminal.
- the user terminal may further include a display
- the display may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, an OLED (Organic Light-Emitting Diode) touch sensor, or the like.
- the display is for displaying information processed in the user terminal, a user interface for displaying visualizations, and the like.
- the application upgrade program 500 can be divided into an acquisition module 502, a verification module 504, a determination module 506, and an upgrade module 508.
- the processor 12 executes the computer program instructions of each module, any of the steps of the application upgrade method described above can be implemented based on the operations and functions that can be implemented by the various computer program instructions. The following description will specifically describe the operations and functions implemented by the acquisition module 502, the verification module 504, the determination module 506, and the upgrade module 508.
- the obtaining module 502 is configured to obtain a configuration file corresponding to the application from the server.
- a corresponding configuration file is created on the server for each version of the application, and the configuration file is encrypted.
- the configuration file is a JSON file.
- the process of encrypting the configuration file by the server specifically includes:
- the server splices the plurality of preset character string data corresponding to the configuration file.
- the plurality of preset character strings include: a current version number, a version number to be upgraded, a download address, and a switch for mandatory upgrade.
- the content of the plurality of preset character strings is defined in the configuration file.
- the server splices the data of the four versions of the current version number corresponding to the application, the version number to be upgraded, the download address, and the switch that needs to be upgraded to form a spliced string, which is recorded as the first splicing. String.
- the server hashes the stitched string.
- the server performs a hash operation on the first spliced string, and the obtained result is recorded as the first hash data.
- the result of the server's hash operation is encrypted by the RSA signature.
- the server encrypts the configuration file containing the first hash data by using an RSA signature.
- the information of the RSA signature should be consistent with the RSA public key information preset in the application in the client.
- the verification module 504 is configured to perform an RSA check on the acquired configuration file.
- the process of the RSA check includes:
- the verification module 504 reads the RSA public key preset in the application.
- the RSA public key is preset in a code or a configuration file of the application.
- the verification module 504 compares whether the RSA public key is consistent with the RSA signature of the acquired configuration file. If the RSA public key is consistent with the obtained RSA signature of the configuration file, the verification module 504 performs RSA decryption on the obtained configuration file according to the RSA public key to obtain an intermediate file.
- the intermediate file includes a result of the server hashing the spliced character string, that is, the first hash data. If the RSA public key does not match the RSA signature of the obtained configuration file, the verification module 504 determines that the verification is failed.
- the verification module 504 receives the plurality of preset character string data sent by the server. Specifically, the verification module 504 receives the data of the four character strings of the current version number corresponding to the application, the version number to be upgraded, the download address, and whether the switch needs to be forced to be upgraded.
- the verification module 504 performs string splicing and hashing according to the received plurality of preset character string data. Specifically, the verification module 504 splices the data of the four character strings of the current version number corresponding to the application, the version number to be upgraded, the download address, and the switch that needs to be upgraded. A stitched string, recorded as the second stitched string. Then, the second spliced string is hashed, and the obtained result is recorded as the second hash data.
- the verification module 504 compares whether the locally obtained hash operation result and the obtained profile decrypted result are consistent.
- the locally obtained hash operation result is the second hash data
- the obtained decrypted configuration file is the first hash data.
- the client compares whether the second hash data and the first hash data are consistent. If they are consistent, the verification module 504 determines that the verification is successful, and can read the content in the acquired configuration file. If they are inconsistent, the verification module 504 determines that the verification is failed, and cannot read the content in the acquired configuration file.
- the determining module 506 is configured to determine, according to the content of the configuration file obtained after the verification, whether the application needs to be upgraded.
- the process of determining whether the application needs to be upgraded specifically includes:
- the judging module 506 reads the version number stored by the application itself, and reads the recorded current version number from the configuration file obtained after the verification. It is then determined whether the version number of the application is equal to or less than the current version number in the configuration file. Specifically, the determining module 506 compares the version number stored by the application itself with the current version number in the configuration file. If the application itself stores a version number equal to the current version number in the configuration file, it indicates that the version of the application in the client is the same as the current version recorded in the configuration file, and therefore needs to be upgraded. If the application itself stores a version number smaller than the current version number in the configuration file, it indicates that the version of the application in the client is older than the current version recorded in the configuration file, and therefore needs to be upgraded.
- the module 506 continues to read whether the switch needs to be forced to be upgraded from the configuration file obtained after the verification, and then determines whether the application needs to be upgraded according to whether the switch needs to be forced to be upgraded. If the switch is on, the decision module 506 determines that the application requires an upgrade. If the switch is off, the decision module 506 determines that the application does not require an upgrade.
- the upgrade module 508 is configured to download an upgrade file for upgrading when determining that the application needs to be upgraded.
- the upgrade module 508 reads the download address of the upgrade file of the application from the configuration file obtained after the verification, thereby downloading the corresponding upgrade file, and completing the upgrade to the application.
- the user terminal in this embodiment encrypts the corresponding configuration file in the server by using the RSA signature.
- the RSA check is required to avoid the mandatory upgrade of the bypass version.
- the corresponding JSON file can be modified, and the upgrade is convenient.
- the third embodiment of the present invention further provides a computer readable storage medium, where the application program upgrade program is stored, and when the application upgrade program is executed by the processor, the following steps can be implemented:
- the process for the server to encrypt the configuration file specifically includes:
- the result of the hash operation is encrypted by the RSA signature.
- the plurality of preset character strings include: a current version number, a version number to be upgraded, a download address, and a switch for forcibly upgrading.
- the configuration file is a JSON file, and the content of the plurality of preset character strings is defined in the configuration file.
- the step of performing an RSA check on the obtained configuration file specifically includes:
- the step of determining whether the application needs to be upgraded according to the content of the configuration file obtained after the verification comprises:
- the foregoing embodiment method can be implemented by means of software plus a necessary general hardware platform, and can also be implemented by hardware, but in many cases, the former is A better implementation.
- the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk,
- the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, an air conditioner, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
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)
- Information Transfer Between Computers (AREA)
- Stored Programmes (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.2 | 2016-11-15 | ||
| CN201611026893.2A CN107704280B (zh) | 2016-11-15 | 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 Ceased WO2018090642A1 (zh) | 2016-11-15 | 2017-06-30 | 应用程序升级方法、用户终端及存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN107704280B (zh) |
| WO (1) | WO2018090642A1 (zh) |
Cited By (23)
| 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 | 深圳前海环融联易信息科技服务有限公司 | 审核规则优化方法、装置、计算机设备以及存储介质 |
| CN111241559A (zh) * | 2020-01-07 | 2020-06-05 | 深圳壹账通智能科技有限公司 | 训练模型保护方法、装置、系统、设备和计算机存储介质 |
| CN111610990A (zh) * | 2019-02-25 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种应用程序升级的方法、装置和相关系统 |
| CN111610996A (zh) * | 2020-05-26 | 2020-09-01 | 东信和平科技股份有限公司 | Ic卡个人化软件升级、生产、抽检方法及系统 |
| CN112306569A (zh) * | 2020-08-07 | 2021-02-02 | 神州融安科技(北京)有限公司 | 增加u盾功能的方法及u盾 |
| CN112417422A (zh) * | 2020-11-23 | 2021-02-26 | 深圳市中易通安全芯科技有限公司 | 安全芯片升级方法及计算机可读存储介质 |
| CN112433964A (zh) * | 2020-04-17 | 2021-03-02 | 上海哔哩哔哩科技有限公司 | 一种清理缓存脏数据的方法及设备 |
| CN113407205A (zh) * | 2021-05-25 | 2021-09-17 | 海南视联通信技术有限公司 | 一种设备升级方法、装置、设备和可读存储介质 |
| CN113553114A (zh) * | 2020-04-22 | 2021-10-26 | 中国长城科技集团股份有限公司 | 单板cpld加密加载的控制方法、装置、电子设备及存储介质 |
| CN113625999A (zh) * | 2021-08-10 | 2021-11-09 | 未鲲(上海)科技服务有限公司 | 应用程序的生成方法、装置、设备及存储介质 |
| CN115314386A (zh) * | 2022-08-08 | 2022-11-08 | 矩阵时光数字科技有限公司 | 一种量子安全设备的固件升级系统 |
| CN115659419A (zh) * | 2022-12-27 | 2023-01-31 | 北京象帝先计算技术有限公司 | 一种数字签名方法、装置、芯片及电子设备 |
| CN115794156A (zh) * | 2022-11-18 | 2023-03-14 | 苏州东剑智能科技有限公司 | 一种仪表设备远程固件升级的方法及装置 |
| CN116048573A (zh) * | 2022-12-24 | 2023-05-02 | 爱信诺征信有限公司 | 基于互联网的软件升级方法、装置、服务器及存储介质 |
| CN116450203A (zh) * | 2023-04-19 | 2023-07-18 | 大陆软件系统开发中心(重庆)有限公司 | 应用的版本号管理方法、应用升级方法、及装置 |
| CN116528086A (zh) * | 2023-04-27 | 2023-08-01 | 深圳市华迅光通信有限公司 | 无源光网络设备的升级方法、装置及可读存储介质 |
| CN119109588A (zh) * | 2024-10-29 | 2024-12-10 | 烽火通信科技股份有限公司 | 密钥更新方法和计算机可读存储介质 |
| CN119538236A (zh) * | 2024-11-11 | 2025-02-28 | 上海电气泰雷兹交通自动化系统有限公司 | 一种轨道交通cbtc信号系统软件更新的系统和方法 |
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 not_active Ceased
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 (31)
| 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芯片在线升级方法以及装置 |
| CN111610990A (zh) * | 2019-02-25 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 一种应用程序升级的方法、装置和相关系统 |
| CN111610990B (zh) * | 2019-02-25 | 2023-05-16 | 阿里巴巴集团控股有限公司 | 一种应用程序升级的方法、装置和相关系统 |
| CN110674511A (zh) * | 2019-08-30 | 2020-01-10 | 深圳壹账通智能科技有限公司 | 基于椭圆曲线加密算法的离线数据保护方法及系统 |
| CN110990266A (zh) * | 2019-11-15 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种测试服务器性能的方法、设备以及存储介质 |
| CN110990266B (zh) * | 2019-11-15 | 2022-12-16 | 苏州浪潮智能科技有限公司 | 一种测试服务器性能的方法、设备以及存储介质 |
| CN110990084B (zh) * | 2019-12-20 | 2023-01-24 | 紫光展讯通信(惠州)有限公司 | 芯片的安全启动方法、装置、存储介质和终端 |
| CN110990084A (zh) * | 2019-12-20 | 2020-04-10 | 紫光展讯通信(惠州)有限公司 | 芯片的安全启动方法、装置、存储介质和终端 |
| CN111126965A (zh) * | 2019-12-25 | 2020-05-08 | 深圳前海环融联易信息科技服务有限公司 | 审核规则优化方法、装置、计算机设备以及存储介质 |
| CN111126965B (zh) * | 2019-12-25 | 2023-08-29 | 深圳前海环融联易信息科技服务有限公司 | 审核规则优化方法、装置、计算机设备以及存储介质 |
| CN111241559A (zh) * | 2020-01-07 | 2020-06-05 | 深圳壹账通智能科技有限公司 | 训练模型保护方法、装置、系统、设备和计算机存储介质 |
| CN112433964A (zh) * | 2020-04-17 | 2021-03-02 | 上海哔哩哔哩科技有限公司 | 一种清理缓存脏数据的方法及设备 |
| CN113553114A (zh) * | 2020-04-22 | 2021-10-26 | 中国长城科技集团股份有限公司 | 单板cpld加密加载的控制方法、装置、电子设备及存储介质 |
| CN111610996A (zh) * | 2020-05-26 | 2020-09-01 | 东信和平科技股份有限公司 | Ic卡个人化软件升级、生产、抽检方法及系统 |
| CN111610996B (zh) * | 2020-05-26 | 2023-04-07 | 东信和平科技股份有限公司 | Ic卡个人化软件升级、生产、抽检方法及系统 |
| CN112306569A (zh) * | 2020-08-07 | 2021-02-02 | 神州融安科技(北京)有限公司 | 增加u盾功能的方法及u盾 |
| CN112417422A (zh) * | 2020-11-23 | 2021-02-26 | 深圳市中易通安全芯科技有限公司 | 安全芯片升级方法及计算机可读存储介质 |
| CN113407205B (zh) * | 2021-05-25 | 2024-09-13 | 海南视联通信技术有限公司 | 一种设备升级方法、装置、设备和可读存储介质 |
| CN113407205A (zh) * | 2021-05-25 | 2021-09-17 | 海南视联通信技术有限公司 | 一种设备升级方法、装置、设备和可读存储介质 |
| CN113625999A (zh) * | 2021-08-10 | 2021-11-09 | 未鲲(上海)科技服务有限公司 | 应用程序的生成方法、装置、设备及存储介质 |
| CN113625999B (zh) * | 2021-08-10 | 2024-04-09 | 北京阅见未来网络科技有限公司 | 应用程序的生成方法、装置、设备及存储介质 |
| CN115314386B (zh) * | 2022-08-08 | 2024-02-20 | 矩阵时光数字科技有限公司 | 一种量子安全设备的固件升级系统 |
| CN115314386A (zh) * | 2022-08-08 | 2022-11-08 | 矩阵时光数字科技有限公司 | 一种量子安全设备的固件升级系统 |
| CN115794156A (zh) * | 2022-11-18 | 2023-03-14 | 苏州东剑智能科技有限公司 | 一种仪表设备远程固件升级的方法及装置 |
| CN116048573A (zh) * | 2022-12-24 | 2023-05-02 | 爱信诺征信有限公司 | 基于互联网的软件升级方法、装置、服务器及存储介质 |
| CN115659419A (zh) * | 2022-12-27 | 2023-01-31 | 北京象帝先计算技术有限公司 | 一种数字签名方法、装置、芯片及电子设备 |
| CN116450203A (zh) * | 2023-04-19 | 2023-07-18 | 大陆软件系统开发中心(重庆)有限公司 | 应用的版本号管理方法、应用升级方法、及装置 |
| CN116528086A (zh) * | 2023-04-27 | 2023-08-01 | 深圳市华迅光通信有限公司 | 无源光网络设备的升级方法、装置及可读存储介质 |
| CN119109588A (zh) * | 2024-10-29 | 2024-12-10 | 烽火通信科技股份有限公司 | 密钥更新方法和计算机可读存储介质 |
| CN119538236A (zh) * | 2024-11-11 | 2025-02-28 | 上海电气泰雷兹交通自动化系统有限公司 | 一种轨道交通cbtc信号系统软件更新的系统和方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN107704280B (zh) | 2020-08-04 |
| CN107704280A (zh) | 2018-02-16 |
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 | |
| US8108536B1 (en) | Systems and methods for determining the trustworthiness of a server in a streaming environment | |
| US10078599B2 (en) | Application access control method and electronic apparatus implementing the same | |
| EP2568639A1 (en) | Method, apparatus and system for processing firmware based on firmware over the air technology | |
| CN111404682B (zh) | 一种Android环境密钥分段处理方法及装置 | |
| US8839446B2 (en) | Protecting archive structure with directory verifiers | |
| CN107220547B (zh) | 终端设备及其启动方法 | |
| WO2021114614A1 (zh) | 应用程序安全启动方法、装置、计算机设备和存储介质 | |
| US20150095652A1 (en) | Encryption and decryption processing method, apparatus, and device | |
| CN104573551A (zh) | 一种文件处理的方法及移动终端 | |
| CN106161336A (zh) | 一种信息更新方法、装置及系统 | |
| CN105706099A (zh) | 软件更新装置及软件更新程序 | |
| US9258128B1 (en) | Systems and methods for creating customer-specific tools for generating certificate signing requests | |
| US9092612B2 (en) | Method and system for secure access to data files copied onto a second storage device from a first storage device | |
| KR20210017268A (ko) | 사용자 데이터에 대해 암호화 동작을 수행하는 전자 장치 | |
| CN110058867A (zh) | 应用程序镜像打包、安装方法及计算机装置、存储介质 | |
| WO2018018781A1 (zh) | Sim卡信息传输方法及装置、计算机存储介质 | |
| CN112866195B (zh) | 敏捷数据传输方法、装置、计算机设备及存储介质 | |
| CN106709324A (zh) | 用于验证应用安全性的方法和设备 | |
| CN103338450A (zh) | 一种验证方法及设备 | |
| CN111291414A (zh) | 数据存储方法及装置、计算机装置及存储介质 | |
| CN104899524A (zh) | 中央处理器和验证主机板数据的方法 | |
| CN115730349A (zh) | 一种基于不同业务场景的数据加密方法、计算机设备、计算机可读存储介质 |
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 |