Software activation method and system, electronic equipment, storage medium and program product

By assisting the activation device to communicate with the activation server, obtaining the activation code and transmitting it to the device to be activated, the problem of not being able to activate the software in a network-free environment is solved, and the effect of completing the software activation under the network-free conditions is achieved.

CN119416201AInactive Publication Date: 2025-02-11ALIBABA CLOUD COMPUTING CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510018706.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-07
Publication Date
2025-02-11
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

In the prior art, software activation requires network connection with the activation server, resulting in the inability to realize software activation in an environment without network connection.

Method used

Through the auxiliary activation device, the activation code of the software to be activated is obtained, and the activation code is transmitted to the device to be activated through non-network transmission to realize software activation.

Benefits of technology

When the device to be activated cannot be connected to the network, it is also possible to obtain the activation code for activate the software to be activated from the activation server, thereby completing the activation of the software, solving the software activation problem in a network-free environment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119416201A_ABST
    Figure CN119416201A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a software activation method and system, electronic equipment, a storage medium and a program product, and the method comprises the steps: obtaining software identification information of to-be-activated software and first equipment information of to-be-activated equipment, and the to-be-activated equipment is computing equipment used for installing the to-be-activated software; the software identification information and the first equipment information are sent to an activation server, the software identification information is used for enabling the activation server to verify the to-be-activated software, and the first equipment information is used for enabling the activation server to generate an activation code of the to-be-activated software; and receiving and displaying an activation code returned by the activation server, wherein the activation code is used for enabling the to-be-activated equipment to activate the to-be-activated software. According to the embodiment of the invention, under the condition that the to-be-activated equipment cannot be networked, the activation code for activating the to-be-activated software can be acquired from the activation server, so that the activation of the to-be-activated software is completed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a software activation method, system, electronic device, storage medium and program product. Background Art

[0002] After purchasing software such as an application or operating system, users usually need to activate the software during the software installation process or when starting it for the first time to confirm the legitimacy of the software copy and unlock the full functionality of the software.

[0003] During the software activation process, it is necessary to interact with the activation server, which requires that the device for software activation must be connected to the network. However, in many scenarios, the device that needs to activate the software cannot access the network, which makes it impossible to establish a connection with the activation server and thus fail to activate the software.

[0004] Therefore, how to realize software activation in an environment without network connection has become a technical problem that urgently needs to be solved. Summary of the invention

[0005] The embodiments of the present application provide a software activation method, system, electronic device, storage medium and program product to alleviate or solve one or more technical problems existing in the prior art.

[0006] In a first aspect, an embodiment of the present application provides a software activation method, which is applied to an auxiliary activation device, the method comprising: obtaining software identification information of the software to be activated and first device information of the device to be activated, wherein the device to be activated is a computing device used to install the software to be activated; sending the software identification information and the first device information to an activation server, wherein the software identification information is used to enable the activation server to verify the software to be activated, and the first device information is used to enable the activation server to generate an activation code for the software to be activated; receiving and displaying the activation code returned by the activation server, wherein the activation code is used to enable the device to be activated to activate the software to be activated.

[0007] In a second aspect, an embodiment of the present application provides a software activation method, which is applied to a device to be activated, and the method includes: In response to receiving a device information acquisition instruction, first device information of the device to be activated is acquired, where the device to be activated is a computing device used to install the software to be activated; an activation code is received from an auxiliary activation device through user input or non-network transmission; and the software to be activated is activated according to the activation code based on the activation instruction input by the user, where the activation code is generated by the activation server when the auxiliary activation device sends the first device information and software identification information of the software to be activated to the activation server.

[0008] In a third aspect, an embodiment of the present application provides a software activation system, comprising an auxiliary activation device, a device to be activated and an activation server, wherein the device to be activated is a computing device for installing software to be activated; the device to be activated is used to obtain first device information of the device to be activated in response to receiving a device information acquisition instruction; the auxiliary activation device is used to obtain software identification information and the first device information of the software to be activated, send the software identification information and the first device information to the activation server, and receive and display an activation code returned by the activation server; the activation server is used to verify the software to be activated based on the software identification information, and generate an activation code for the software to be activated based on the first device information, and send the activation code to the auxiliary activation device; the device to be activated is also used to receive the activation code from the auxiliary activation device through user input or non-network transmission, and activate the software to be activated according to the activation code based on the activation instruction input by the user.

[0009] In a fourth aspect, an embodiment of the present application provides an electronic device, including a memory, a processor, and a computer program stored in the memory, and the processor implements any method of the embodiment of the present application when executing the computer program.

[0010] In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the method of any one of the embodiments of the present application is implemented.

[0011] In a sixth aspect, an embodiment of the present application provides a computer program product, including a computer program, which implements any method of the embodiments of the present application when executed by a processor.

[0012] In the method provided in the embodiment of the present application, when activating the software to be activated installed on the device to be activated, the auxiliary activation device sends the first device information of the device to be activated and the software identification information of the software to be activated to the activation server, and receives the activation code returned by the activation server, and the activation code is used to enable the device to be activated to activate the software to be activated. That is, in the embodiment of the present application, data communication is performed between the auxiliary activation device and the activation server to assist in completing the activation of the software to be activated on the device to be activated. In this way, even if the device to be activated cannot connect to the Internet, it is also possible to obtain the activation code for activating the software to be activated from the activation server, thereby completing the activation of the software to be activated.

[0013] The above description is only an overview of the technical solution of the present application. In order to more clearly understand the technical means of the present application, it can be implemented in accordance with the contents of the specification. In order to make the above and other purposes, features and advantages of the present application more obvious and easy to understand, the specific implementation methods of the present application are listed below. BRIEF DESCRIPTION OF THE DRAWINGS

[0014] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the multiple drawings represent the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings only depict some embodiments according to the present application and should not be regarded as limiting the scope of the present application.

[0015] Figure 1 A schematic diagram showing an application scenario of the software activation method provided in an embodiment of the present application is shown; Figure 2 One of the flowcharts of the software activation method provided in the embodiment of the present application is shown; Figure 3 The second flowchart of the software activation method provided in the embodiment of the present application is shown; Figure 4 A schematic diagram of the structure of a software activation system provided in an embodiment of the present application is shown; Figure 5 One of the interaction flow charts provided in the embodiment of the present application is shown; Figure 6 The second interactive flow chart provided in the embodiment of the present application is shown; Figure 7 One of the schematic diagrams of the module composition of the software activation device provided in the embodiment of the present application is shown; Figure 8 The second schematic diagram of the module composition of the software activation device provided in the embodiment of the present application is shown; Fig. 9 A block diagram of an electronic device provided by an embodiment of the present application is shown. DETAILED DESCRIPTION

[0016] In the following, only some exemplary embodiments are briefly described. As those skilled in the art will appreciate, the described embodiments may be modified in various ways without departing from the concept or scope of the present application. Therefore, the drawings and descriptions are considered to be exemplary in nature and not restrictive.

[0017] To facilitate understanding of the technical solutions of the embodiments of the present application, the following describes the related technologies of the embodiments of the present application. The following related technologies can be combined with the technical solutions of the embodiments of the present application as optional solutions, and they all belong to the protection scope of the embodiments of the present application.

[0018] Typically, after purchasing software such as an application or operating system, users need to activate the software during the software installation process or when starting it for the first time to confirm the legitimacy of the software copy and unlock all the software's functions.

[0019] In the prior art, when software is activated, the computing device that needs to activate the software needs to interact with the activation server, which requires that the computing device that needs to activate the software must be in a network connection state. However, in many scenarios, the computing device that needs to activate the software cannot access the network, for example, the computing device has a network isolation problem, etc., which causes the computing device to be unable to establish a connection with the activation server, thereby failing to activate the software.

[0020] Based on this problem, an embodiment of the present application provides a software activation method, in which when activating the software to be activated installed on the device to be activated, the auxiliary activation device communicates data with the activation server, that is, the first device information of the device to be activated and the software identification information of the software to be activated are sent to the activation server through the auxiliary activation device, and the activation code returned by the activation server is received to assist in completing the activation of the software to be activated on the device to be activated. In this way, even if the device to be activated cannot connect to the Internet, it is possible to obtain the activation code for activating the software to be activated from the activation server, thereby completing the activation of the software to be activated.

[0021] In order to facilitate the understanding of the embodiments of the present application, the application scenario of the software activation method provided in the embodiments of the present application is first briefly described. Figure 1 The following is a schematic diagram showing an application scenario of the software activation method provided in the embodiment of the present application. Figure 1 As shown, the application scenario includes an activation server 110, an auxiliary activation device 120, and a device to be activated 130. The device to be activated 130 is a computing device that has the software to be activated installed. The device to be activated 130 and the auxiliary activation device 120 communicate with each other through a non-network transmission method. The auxiliary activation device 120 communicates with the activation server 110 through a network to achieve data interaction. The auxiliary activation device 120 and the device to be activated 130 can be terminal devices such as mobile phones, laptops, desktop computers, or tablet computers, or servers.

[0022] In an application example, when it is necessary to activate the software to be activated installed on the device to be activated 130, the user inputs a device information acquisition instruction on the activation interface of the device to be activated 130 to obtain the first device information of the device to be activated 130. Exemplarily, the first device information may include identification information of the device to be activated 130, and may also include hardware information of the device to be activated 130. The device to be activated 130 may transmit the first device information to the auxiliary activation device 120 in a non-network transmission manner, or the device to be activated 130 displays the first device information, so that the user can input the first device information into the input control of the activation program interaction interface of the auxiliary activation device.

[0023] The user enters the first device information and the software identification information of the software to be activated in the input control of the activation program interaction interface of the auxiliary activation device 120. Exemplarily, the software identification information can be obtained by the user from the sales channel of the software to be activated or obtained through the official customer service after purchasing the software to be activated. After receiving the first device information and the software identification information, the auxiliary activation device 120 sends the first device information and the software identification information to the activation server 110. The activation server 110 verifies the software to be activated based on the received software identification information, generates an activation code for the software to be activated based on the received first device information, and sends the generated activation code to the auxiliary activation device 120. After receiving the activation code returned by the activation server 110, the auxiliary activation device 120 displays the activation code. The user inputs the activation code displayed by the auxiliary activation device 120 into the device to be activated 130 to complete the activation of the software to be activated.

[0024] It should be noted that the above application scenarios or application examples provided in the embodiments of the present application are for ease of understanding, and the embodiments of the present application do not specifically limit the application of the technical solution. In addition, the user information (including but not limited to the user's first device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data need to comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0025] The technical solution of the present application and how the technical solution of the present application solves the above-mentioned technical problems are described in detail below with specific embodiments. The several specific embodiments listed can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0026] Figure 2One of the flowcharts of the software activation method provided in the embodiment of the present application is shown. Figure 2 The method shown can be applied to Figure 1 The auxiliary activation device 120 in the application scenario shown. Figure 2 As shown, the method may include step S201, step S202 and step S203.

[0027] Step S201: obtaining software identification information of the software to be activated and first device information of the device to be activated, where the device to be activated is a computing device used to install the software to be activated.

[0028] Step S202: sending the software identification information and the first device information to an activation server, wherein the software identification information is used to enable the activation server to verify the software to be activated, and the first device information is used to enable the activation server to generate an activation code for the software to be activated.

[0029] Step S203: receiving and displaying the activation code returned by the activation server, wherein the activation code is used to enable the device to be activated to activate the software to be activated.

[0030] The software to be activated may be an application or an operating system, and the operating system may be a Linux system. The auxiliary activation device 120 is a computing device that can be connected to the network. When the device to be activated cannot be connected to the network, the auxiliary activation device 120 can be used to interact with the activation server to obtain the activation code generated by the activation server. By inputting the activation code into the device to be activated, the activation of the software to be activated on the device to be activated is achieved.

[0031] For example, the software identification information may be a serial code of the software to be activated, which may be obtained together with the software to be activated from the purchase channel when the software to be activated is purchased, or may be obtained through the customer service channel after the software to be activated is purchased. Alternatively, the software identification information may be a serial code of the purchase contract corresponding to the purchase of the software to be activated by the user, and the software to be activated is identified by the serial code of the purchase contract.

[0032] The first device information may include identification information of the device to be activated, such as the serial number of the device to be activated, device identification (ID), etc., and may also include hardware information of the device to be activated, such as processor (Central Processing Unit, CPU) information, hard disk information, motherboard information, etc. When implementing the solution, the information content that the first device information needs to include may be configured according to actual needs. Here, the information content that may be included in the first device information is only exemplarily listed, and it is not a limitation to the embodiments of the present application.

[0033] In one implementation, the first device information can be obtained by executing a device information acquisition instruction on the device to be activated. After obtaining the first device information, the device to be activated can send the first device information to the auxiliary activation device through a non-network transmission method, such as Bluetooth or a physical storage medium, or display the first device information on the device to be activated.

[0034] In one embodiment, the user can access the activation server through the auxiliary activation device and input the first device information and the software identification information on the activation program interaction interface obtained by accessing the activation server. Therefore, in the above step S201, the software identification information of the software to be activated and the first device information of the device to be activated input by the user on the activation program interaction interface can be received.

[0035] In an embodiment of the present application, the auxiliary activation device can interact with the activation server. Therefore, the auxiliary activation device sends the received auxiliary activation device and software identification information to the activation server. The activation server verifies the software to be activated based on the above software identification information, and generates an activation code for the software to be activated based on the first device information.

[0036] Exemplarily, a software license (License) file of the software to be activated is stored in the activation server. After receiving the software identification information sent by the auxiliary activation device, the activation server reads the software identification information of the software to be activated from the License file, and verifies the received software identification information based on the read software identification information to determine the validity of the received software identification information of the software to be activated.

[0037] Alternatively, in another application scenario, the software to be activated may be purchased by the user through a dealer. For this scenario, the dealer may purchase a batch of software from a software seller, and generate a license file for the batch of software by registering on the seller's platform. The license file may include information such as the dealer's identification information, the maximum number of activations allowed for the license file, the software identification information of each software, and the activation validity period. The seller's platform sends the generated license file to the activation server for storage. For this application scenario, after the activation server receives the software identification information of the software to be activated, it reads the corresponding identification information from the license file to verify the validity of the received software identification information of the software to be activated. For this application scenario, it can also be verified whether the number of times the software is activated by the license file exceeds the upper limit of the number of software that can be activated by the license file.

[0038] In an embodiment of the present application, a possible implementation process of the activation server generating an activation code based on the first device information is as follows: the activation server preliminarily encrypts the first device information to obtain preliminarily encrypted ciphertext information, then performs a summary calculation on the ciphertext information, and uses the private key in the key pair to encrypt the summary value obtained by the summary calculation again to obtain the summary information of the first device information, and finally concatenates the summary information of the auxiliary activation device and the ciphertext information to obtain the activation code of the software to be activated.

[0039] The activation server sends the generated activation code to the auxiliary activation device, and the auxiliary activation device displays the activation code after receiving the activation code returned by the activation server. The user inputs the activation code displayed by the auxiliary activation device into the device to be activated to activate the software to be activated.

[0040] In the method provided in the embodiment of the present application, when activating the software to be activated installed on the device to be activated, the auxiliary activation device sends the first device information of the device to be activated and the software identification information of the software to be activated to the activation server, and receives the activation code returned by the activation server, and the activation code is used to enable the device to be activated to activate the software to be activated. That is, in the embodiment of the present application, data communication is performed between the auxiliary activation device and the activation server to assist in completing the activation of the software to be activated on the device to be activated. In this way, even if the device to be activated cannot connect to the Internet, it is also possible to obtain the activation code for activating the software to be activated from the activation server, thereby completing the activation of the software to be activated.

[0041] In one embodiment, a user can access the activation server through an auxiliary activation device, obtain an activation program interaction interface from the activation server, and display the activation program interaction interface on the auxiliary activation device, and the user can enter the above-mentioned software identification information and the first device information on the activation program interaction interface. Therefore, in an embodiment of the present application, the above-mentioned step S201, obtaining the software identification information of the software to be activated and the first device information of the device to be activated, can include the following steps: receiving the first device information through the device information input control on the activation program interaction interface, and receiving the software identification information through the software identification input control on the activation program interaction interface, the above-mentioned activation program is used to interact with the activation server and the auxiliary activation device respectively, and the above-mentioned activation program is obtained by accessing the activation server.

[0042] For example, the activation server can be accessed by inputting the URL of the activation server on the auxiliary activation device, thereby obtaining the program of the interactive interface, that is, the activation program. The activation program can interact with the activation server and the auxiliary activation device respectively, and send the first device information and software identification information input by the user through the auxiliary activation device to the activation server, thereby realizing the communication between the auxiliary activation device and the activation server.

[0043] In the embodiment of the present application, a device information input control and a software identification input control are respectively provided on the activation program interaction interface. Exemplarily, a possible form of the device information input control and the software identification input control is an information input text box. In this way, the user inputs the first device information into the device information input text box, and inputs the software identification information into the software identification input text box, thereby realizing the activation operation of the software to be activated by assisting the device to be activated through the auxiliary activation device.

[0044] For example, in the embodiment of the present application, the user can input the first device information into the device information input box by text input, and input the software identification information into the software identification input text box by text input. Alternatively, in another embodiment, the first device information can be input into the device information input box by collecting the voice of the first device information input by the user and converting it into text, and the software identification information can be input into the software identification input text box by collecting the voice of the software identification information input by the user and converting it into text.

[0045] In the embodiment of the present application, the first device information is received through the device information input box on the activation program interaction interface, and the software identification information is received through the software identification input control, so that data communication between the auxiliary activation device and the activation program interaction interface is realized. The user can conveniently send the relevant information for activating the software to be activated to the activation server, so that the auxiliary activation device can interact with the activation server instead of the device to be activated, thereby realizing the activation of the software to be activated even when the device to be activated has no network connection, and the operation is simple and convenient.

[0046] In an embodiment of the present application, a user may input the first device information in the device information input box on the activation program interaction interface based on the first device information displayed on the device to be activated, or the device to be activated may send the first device information to the auxiliary activation device through a non-network transmission method and then input the first device information into the device information input box by pasting text.

[0047] Therefore, in one embodiment, before receiving the first device information through the device information input control on the interactive interface of the activation program, the method provided in the embodiment of the present application also includes the following steps: receiving the first device information sent by the device to be activated through a non-network transmission method, and the above-mentioned non-network transmission method includes at least one of Bluetooth transmission, physical storage medium transmission, infrared transmission and near-field communication transmission; accordingly, the above-mentioned receiving the first device information through the device information input control on the interactive interface of the activation program may include the following steps: in response to the user's input operation on the first device information, inputting the first device information into the first device information input control.

[0048] The physical storage medium may include any one of a mechanical hard disk, a solid state disk, an optical disk, a USB flash drive, a memory card, etc. When implementing this solution, the corresponding physical storage medium may be selected according to actual needs. Here, several possible forms of the physical storage medium are only exemplarily listed, which is not a limitation on the embodiments of this application.

[0049] In addition, it should be noted that the non-network transmission method in the embodiment of the present application may be other than Bluetooth transmission, physical storage medium transmission, infrared transmission and near field communication transmission. The embodiment of the present application only exemplarily lists several possible non-network transmission methods, and is not a limitation of the embodiment of the present application.

[0050] In the embodiment of the present application, the first device information may be transmitted from the to-be-activated device to the auxiliary activation device in the form of a file, for example, in the form of a JavaScript Object Notation (JSON) file.

[0051] In addition, it should be noted that, in the embodiment of the present application, in order to ensure the security of the first device information during transmission, the device to be activated may encrypt the first device information before transmitting the first device information through a non-network transmission method, and transmit the encrypted first device information to the auxiliary activation device through a non-network transmission method. After receiving the encrypted first device information, the auxiliary activation device decrypts it and restores the first device information. Exemplarily, the device to be activated may encrypt the first device information using a pre-agreed key.

[0052] In one implementation, the user's input operation on the first device information may be a copy and paste operation or a copy and cut operation. Exemplarily, the auxiliary activation device receives a user's copy or cut operation on the first device information in the JSON file, and receives a user's paste operation on the first device information in the device information input control, thereby inputting the first device information into the device information input control.

[0053] Therefore, in a feasible implementation, after acquiring the first device information, the device to be activated transmits the first device information to the auxiliary activation device through a non-network transmission method. After receiving the first device information, the auxiliary activation device stores the first device information. When it is necessary to input the first device information in the device information input control, the user opens the file corresponding to the first device information and performs a copy operation on the first device information in the file. The auxiliary activation device receives the user's copy operation on the first device information and receives the user's paste operation on the first device information in the device information input control, thereby inputting the first device information into the first device information input control.

[0054] In an embodiment of the present application, the first device information is transmitted to the device to be activated by a non-network transmission method. In this way, the user can quickly input the information of the first device into the device information input control through a simple paste operation, which significantly simplifies the process of the user entering the device information in the interactive interface of the activation program, thereby improving the convenience and efficiency of the activation operation.

[0055] In one embodiment, before receiving the first device information through the device information input control on the interactive interface of the activation program, the method provided in the embodiment of the present application also includes the following steps: receiving the first device information sent by the device to be activated through a non-network transmission method, and the above-mentioned non-network transmission method includes at least one of Bluetooth transmission, physical storage medium transmission, infrared transmission and near-field communication transmission; accordingly, the above-mentioned receiving the first device information through the device information input control on the interactive interface of the activation program may include the following steps: when monitoring the receipt of the first device information, parsing the first device information and filling it into the device information input control.

[0056] Among them, the specific implementation process of receiving the first device information in the non-network transmission manner can refer to the description of the aforementioned embodiment, which will not be repeated here.

[0057] Exemplarily, the auxiliary activation device can monitor whether the first device information is received by pre-setting an information monitoring plug-in or program, and after monitoring the reception of the first device information, perform an operation of parsing the first device information and filling it into the device information input control. The above-mentioned parsing of the first device information can convert the received first device information into information that can be filled into the device information input control.

[0058] In an embodiment of the present application, when the first device information is monitored and received, the first device information is parsed and automatically filled into the device information input control, that is, automatic filling of the first device information is achieved, avoiding the user from entering the device information in the interactive interface of the activation program, greatly improving the convenience and efficiency of the activation operation.

[0059] In addition, it should be noted that, in one embodiment, after receiving the first device information transmitted by the device to be activated through non-network transmission, the auxiliary activation device can directly send the first device information to the activation server, and after receiving the software identification information sent by the auxiliary activation device, perform subsequent operations.

[0060] In one embodiment, the activation server may be managed and maintained by a dealer. When a user purchases a software product that has not been activated from a dealer, the software activation process needs to be completed on the server maintained by the dealer. In order to activate the software to be activated, the user first needs to complete the registration step on the activation server in order to obtain the activation permission of the activation program, thereby activating the software. Therefore, the method provided in the embodiment of the present application also includes the following steps: In response to the registration operation input by the user, a registration interface is displayed, on which a registration information input box is provided; after receiving the registration information input by the user through the registration information input box, a registration request is sent to the activation server, and the registration request carries the above registration information; the activation authority of the activation program is obtained, and the activation authority is issued by the activation server after registering the above registration information.

[0061] The above registration operation may be a user clicking operation on a registration control on the interface. In response to the user's registration operation, interface information of the registration interface may be obtained from the activation server, and the registration interface may be displayed on the auxiliary activation device. The registration interface displays fields and corresponding input controls for various registration information that the user needs to input.

[0062] Exemplarily, the above registration operation may be a user clicking operation on a registration control on the interface. In response to the registration operation input by the user, relevant data of the registration interface is obtained from the activation server, and the registration interface is displayed on the auxiliary activation device. On the registration interface, a series of preset fields are displayed, which represent the necessary registration information that the user needs to fill in, and each field is equipped with a corresponding input box next to it for the user to enter data.

[0063] After receiving the registration information entered by the user in the input box, a registration request carrying the registration information is sent to the activation server. In one embodiment, the user can click the "Send" or "Submit" space on the registration interface to trigger the sending of the above registration request to the activation server. After receiving the registration request sent by the auxiliary activation device, the activation server performs registration based on the registration information carried in the registration request.

[0064] Typically, after registering the above registration information, the activation server can grant the user activation authority for the activation program. Exemplarily, the activation authority can be the authority to obtain the activation program interactive interface or the authority to install the activation program, thereby enabling the first device information and software identification information to be sent to the activation server through the activation program interactive interface.

[0065] In the embodiment of the present application, the activation permission of the activation program is obtained by registering on the activation server. This enables the user to transmit the first device information and software identification information to the activation server through the interactive interface of the activation program, thereby completing the software activation process. After obtaining the activation permission, the user can directly transmit the first device information and software identification information through the interactive interface of the activation program, which greatly simplifies the software activation process and improves the activation efficiency. In addition, registration and permission acquisition through the activation server can ensure that only legitimate users can activate and use the software, thereby enhancing the security of the software.

[0066] Corresponds to Figure 2 The method provided in the illustrated embodiment is based on the same idea, and the embodiment of the present application also provides a software activation method. Figure 3 The second flowchart of the software activation method provided in the embodiment of the present application is shown. Figure 3 The software activation method shown can be applied to Figure 2 The device to be activated 130 in the application scenario shown. Figure 3 As shown, the method includes step S301, step S302 and step S303.

[0067] Step S301: in response to receiving a device information acquisition instruction, first device information of a device to be activated is acquired, where the device to be activated is a computing device used to install software to be activated.

[0068] Step S302: receiving an activation code from an auxiliary activation device through user input or non-network transmission.

[0069] Step S303: activating the software to be activated according to the activation code based on the activation instruction input by the user, wherein the activation code is generated by the activation server when the auxiliary activation device sends the first device information and the software identification information of the software to be activated to the activation server.

[0070] Exemplarily, an activation client is running on the device to be activated, and the user can enter a device information acquisition instruction in the activation client to obtain the first device information of the device to be activated. A possible form of the device information acquisition instruction entered by the user is a machine command.

[0071] The first device information may be identification information of the device to be activated, such as the serial number and device ID of the device to be activated, and may also include hardware information of the device to be activated, such as CPU information, hard disk information, motherboard information, etc.

[0072] In one embodiment, after obtaining the above-mentioned first device information, the auxiliary activation device can send the first device information to the device to be activated by non-network transmission, or display the first device information on the device to be activated. The user inputs the first device information and the software identification information of the software to be activated into the activation program interaction interface of the auxiliary activation device, and sends it to the activation server through the activation program. After receiving the first device information and software identification information sent by the auxiliary activation device, the activation server first verifies the software to be activated based on the software identification information, and after the verification is passed, generates an activation code for the software to be activated based on the first device information. The activation server sends the generated activation code to the auxiliary activation device, and the auxiliary activation device displays the activation code after receiving the activation code returned by the activation server.

[0073] In one embodiment, the user can activate the software to be activated by inputting the activation command on the activation client of the device to be activated. For example, the activation command input by the user carries the activation code, so that the device to be activated activates the software to be activated based on the activation command and the activation code.

[0074] In addition, it should be noted that in the embodiment of the present application, the user can input the activation code displayed by the auxiliary activation device into the device to be activated, or the auxiliary activation device transmits the activation code to the device to be activated by a non-network transmission method. The non-network transmission method includes at least one of Bluetooth transmission, physical storage medium transmission, infrared transmission, and near field communication transmission.

[0075] In an embodiment of the present application, when activating the software to be activated installed on the device to be activated, the first device information of the device to be activated is obtained through an information acquisition instruction, and the first device information and the software identification information of the software to be activated are input into the auxiliary activation device, which is sent by the auxiliary activation device to the activation server so that the activation server generates an activation code, and the auxiliary activation device receives and displays the activation code returned by the activation server. The activation code is carried in the activation command and input into the device to be activated to achieve the activation of the software to be activated. That is, in an embodiment of the present application, data communication is performed between the auxiliary activation device and the activation server to assist in completing the activation of the software to be activated on the device to be activated. In this way, even if the device to be activated cannot connect to the Internet, it is also possible to obtain the activation code for activating the software to be activated from the activation server, thereby completing the activation of the software to be activated.

[0076] In order to verify whether the activation code has been tampered with, it is necessary to verify whether the second device information carried in the activation code is consistent with the first device information of the device to be activated. Normally, the two are consistent, but if the activation code is illegally tampered with, the two will be inconsistent. Therefore, in the embodiment of the present application, in the above step S302, activating the software to be activated according to the activation code may include the following steps: parsing the activation code to obtain the second device information carried in the activation code; verifying whether the second device information is consistent with the first device information; if they are consistent, executing the activation operation of the software to be activated.

[0077] Exemplarily, an activation code parsing mechanism is set in the activation client running on the device to be activated, and the activation code parsing mechanism corresponds to the activation code generation mechanism corresponding to the activation server. That is, the above activation code parsing mechanism is equivalent to the reverse process of the activation code generation mechanism. For different activation code generation mechanisms, there are corresponding different activation code parsing mechanisms. During implementation, the corresponding activation code parsing mechanism can be set according to the activation code activation mechanism adopted by the activation server.

[0078] In addition, it should be noted that, in the embodiment of the present application, the first device information compared with the second device information carried in the activation code may be the first device information obtained through step S301, or it may be the first device information of the device to be activated that is re-acquired when performing the verification of the second device information.

[0079] If the verification result indicates that the second device information is consistent with the first device information, it means that the activation code has not been tampered with, and the activation operation of the software to be activated can be performed. If the verification result indicates that the second device information is inconsistent with the first device information, it means that the activation code has been tampered with. At this time, stop the current activation process and obtain the activation code again.

[0080] In the embodiment of the present application, when using the activation code to activate the software to be activated, first verify whether the activation code has been tampered with. On the one hand, it can prevent the user from being unable to activate the software to be activated due to the use of the tampered activation code, thereby improving the user experience; on the other hand, it can also prevent unauthorized users from illegally activating the software by modifying the activation code, thereby protecting the legitimate rights and interests of the software developer. In addition, tampering with the activation code may involve malware or viruses. Therefore, through the verification of the activation code, it can also help prevent the spread of malware, thereby improving the security of the software.

[0081] In one implementation, the activation code is obtained by concatenating ciphertext information and summary information, the ciphertext information is encrypted based on the first device information, and the summary information is signed using a private key in a preset key pair; Correspondingly, in this case, the above-mentioned parsing of the activation code to obtain the second device information carried in the activation code includes: verifying the above-mentioned summary information based on the public key in the preset key pair; if the verification is successful, decrypting the ciphertext information to obtain the second device information.

[0082] Based on the description of the above-mentioned embodiment, it can be known that in the embodiment of the present application, the activation code used is composed of two parts: ciphertext information and summary information obtained based on the first device information. Among them, in order to further ensure the integrity and authenticity of the activation code, when parsing the activation code, the public key in the preset key pair is first used to verify the above summary information. Usually, the preset key pair includes a public key and a private key. The public key is confidential and can be made public. The private key is used to store the summary information generated by the server, and the public key is used to activate the client to verify the summary information. In a feasible implementation, when the summary information is verified using the public key in the preset key pair, the summary information can be decrypted using the public key. If the content obtained after decryption matches the ciphertext information in the activation code, it can be determined that the activation code has not been tampered with and the summary information is complete. At this time, the operation of decrypting the ciphertext information can be continued to obtain the above-mentioned second device information.

[0083] In the embodiment of the present application, the activation code used is composed of summary information and ciphertext information, forming a dual protection mechanism. In the process of parsing the activation code, the integrity and security of the activation code are ensured by verifying the summary information, and it can resist potential tampering and attacks, thereby ensuring the security of the software activation process. Through such a design, it not only effectively prevents the risk of unauthorized access to the software to be activated, safeguards the legitimate rights and interests of the software developer, but also protects the legitimate rights and interests of the software developer. In addition, it also ensures the security and reliability of the software activation process.

[0084] In addition, in an embodiment of the present application, after the software to be activated is activated, it is also necessary to record the activation-related information of the software to be activated, so as to judge whether the activation of the software to be activated is expired based on the stored activation-related information. In addition, considering the storage security of the above-mentioned activation-related information, the above-mentioned activation-related information can be stored in the form of Unified Extensible Firmware Interface (UEFI) variables. Therefore, the method provided in the embodiment of the present application may also include the following steps: using UEFI variables to store the activation-related information of the software to be activated, the activation-related information includes at least one of the following information: the activation duration of the software to be activated, the software identification information of the software to be activated, the license file identification corresponding to the software to be activated, and the verification key of the activation code.

[0085] The activation duration of the software to be activated refers to the validity period during which the software to be activated can be activated, and is used to determine whether the activation of the software to be activated has expired. The verification key of the activation code refers to the key used when signing and verifying the activation code.

[0086] In the embodiment of the present application, activation-related information of the software to be activated is stored in the form of UEFI variables, thereby ensuring the security of information storage.

[0087] Corresponding to the application scenario and method of the method provided in the embodiment of the present application, the embodiment of the present application also provides a software activation system, such as Figure 4 As shown, the system includes: an auxiliary activation device 120, a device to be activated 130 and an activation server 110. The device to be activated 130 is a computing device used to install the software to be activated.

[0088] Among them, the device to be activated 130 is used to obtain the first device information of the device to be activated in response to receiving the device information acquisition instruction; the auxiliary activation device 120 is used to obtain the software identification information and the first device information of the software to be activated, send the software identification information and the first device information to the activation server 110, and receive and display the activation code returned by the activation server 110; the activation server 110 is used to verify the software to be activated based on the software identification information, and generate an activation code for the software to be activated based on the first device information, and send the activation code to the auxiliary activation device 120; the device to be activated 130 is also used to receive the activation code from the auxiliary activation device 120 through user input or non-network transmission, and activate the software to be activated according to the activation code based on the activation instruction input by the user.

[0089] In one embodiment, the auxiliary activation device is specifically used to: receive first device information through a device information input control on an activation program interaction interface, and receive software identification information through a software identification input control on an activation program interaction interface, the activation program is used to interact with an activation server and an auxiliary activation device respectively, and the activation program is obtained by accessing an activation server.

[0090] In one embodiment, the auxiliary activation device is further specifically used to: receive first device information sent by the device to be activated via a non-network transmission method, and input the first device information into a first device information input control in response to a user's input operation on the first device information. The non-network transmission method includes at least one of Bluetooth transmission, physical storage medium transmission, infrared transmission, and near-field communication transmission.

[0091] In one embodiment, the auxiliary activation device is also used to: display a registration interface in response to a registration operation input by a user, on which a registration information input box is provided; after receiving the registration information input by the user through the registration information input box, send a registration request to an activation server, in which the registration request carries the registration information; obtain activation authority for the activation program, which is issued by the activation server after registering the registration information.

[0092] In one implementation, the device to be activated is specifically used to: parse the activation code to obtain the second device information carried in the activation code; verify whether the second device information is consistent with the first device information; if they are consistent, execute the activation operation of the software to be activated.

[0093] In one embodiment, the activation code is obtained by concatenating ciphertext information and summary information, the ciphertext information is encrypted based on the first device information, and the summary information is signed using a private key in a preset key pair; the device to be activated is further specifically used to: verify the summary information based on the public key in the preset key pair; if the verification is successful, decrypt the ciphertext information to obtain the second device information.

[0094] based on Figure 4 The software activation system provided by the illustrated embodiment, Figure 5 A schematic diagram of the interaction process for the software activation system is shown, such as Figure 5 As shown, the interaction method includes steps S501 to S508.

[0095] Step S501: the device to be activated obtains first device information of the device to be activated in response to receiving a device information obtaining instruction.

[0096] Step S502: the device to be activated transmits the first device information to the auxiliary activation device in a non-network transmission manner.

[0097] Among them, the above-mentioned non-network transmission method includes at least one of Bluetooth transmission, physical storage medium transmission, infrared transmission and near field communication transmission.

[0098] Step S503: the auxiliary activation device receives the first device information and the software identification information of the software to be activated input by the user.

[0099] The software identification information of the software to be activated may be the software serial code, or the serial code of the purchase contract corresponding to the software to be activated purchased by the user. The serial code may be obtained together with the software to be activated from the purchase channel when the software to be activated is purchased, or may be obtained through the customer service channel after the software to be activated is purchased.

[0100] Step S504: the auxiliary activation device sends the first device information and the software identification information to the activation server.

[0101] Step S505: the activation server verifies the software to be activated based on the software identification information, and generates an activation code for the software to be activated based on the first device information.

[0102] Step S506: The activation server sends the activation code to the auxiliary activation device.

[0103] Step S507: The auxiliary activation device receives and displays the activation code.

[0104] Step S508: In response to receiving the activation code from the auxiliary activation device, the device to be activated activates the software to be activated according to the activation code based on the activation instruction input by the user.

[0105] To facilitate understanding of the software activation method provided in the embodiment of the present application, Figure 6 FIG. 1 shows an interactive flow chart of the software activation method provided in an embodiment of the present application. Figure 6 As shown, the activation server can be a server maintained by a dealer, and the user purchases the software to be activated from the dealer. In this scenario, the dealer can purchase a batch of software from the software developer in advance. In this case, the order information of the batch of software can be registered on the platform of the software developer to generate a license file for the batch of software orders. The license file contains information such as the serial code of the software to be activated and the maximum number of software that can be activated by the license file. After the license file is generated, the license file is sent to the activation server for storage. Exemplarily, it can be stored in the activation management database set on the activation server.

[0106] When a user purchases software to be activated from a dealer and uses the software to be activated on the device to be activated, the software to be activated needs to be activated. When activating the software to be activated through the device to be activated, run the activation client on the device to be activated, and obtain the first device information of the device to be activated by entering the machine command in the activation client. The first device information is transmitted to the auxiliary activation device in the form of a JSON file through a non-network transmission method. The user accesses the activation server through the auxiliary activation device, obtains the activation program, and displays the activation program interaction interface on the auxiliary activation device. The user enters the first device information and the software identification information of the software to be activated in the input control of the activation program interaction interface, and sends the first device information and software identification information to the activation server through the Application Programming Interface (API) interface.

[0107] After receiving the first device information and the software identification information, the activation server verifies the software to be activated based on the license file stored in the activation management database and the received software identification information. After the verification is passed, the activation server generates an activation code for the software to be activated based on the first device information, sends the activation code to the auxiliary activation device, and displays the activation code on the activation program interaction interface of the auxiliary activation device. The user enters the activation execution with the activation code in the activation client running on the device to be activated, thereby activating the software to be activated when the device to be activated has no network connection.

[0108] For the application scenario where the activation server is a server maintained by a dealer, it is necessary to record relevant information when completing a software activation. Therefore, in the embodiment of the present application, the activation server 110 is also used to: generate activation record information, which includes the length of time the software to be activated is authorized to use and the number of software currently activated.

[0109] In one embodiment, a license file can be generated for each order from the dealer. In addition to being used to activate each software to be activated, the license file is also used to indicate the maximum number of software to be activated that can be activated by the license file. Therefore, each time the activation server completes the activation operation of a software to be activated, the number of software to be activated that has been completed so far is recorded.

[0110] Corresponding to the method provided in the embodiment of the present application, based on the same idea, the embodiment of the present application also provides a software activation device, Figure 7 The schematic diagram of the module composition of the software activation device provided in the embodiment of the present application is shown. The device can be configured in Figure 1 In the auxiliary activation device 120 in the application scenario shown. Among them, the device can execute the embodiment of the present application Figure 2 The method provided in the embodiment shown. Figure 7 As shown, the software activation device includes: a first acquisition module 701, used to obtain software identification information of the software to be activated and first device information of the device to be activated, wherein the device to be activated is a computing device used to install the software to be activated; a first sending module 702, used to send the software identification information and the first device information to an activation server, wherein the software identification information is used to enable the activation server to verify the software to be activated, and the first device information is used to enable the activation server to generate an activation code for the software to be activated; and a first display module 703, used to receive and display the activation code returned by the activation server, wherein the activation code is used to enable the device to be activated to activate the software to be activated.

[0111] In one embodiment, the above-mentioned first acquisition module 701 is specifically used to: receive the first device information through the device information input control on the activation program interaction interface, and receive the software identification information through the software identification input control on the activation program interaction interface, the activation program is used to interact with the activation server and the auxiliary activation device respectively, and the activation program is obtained by accessing the activation server.

[0112] In one embodiment, the device provided in the embodiment of the present application also includes a first receiving module, which is used to receive first device information sent by the device to be activated through a non-network transmission method, and the non-network transmission method includes at least one of Bluetooth transmission, physical storage medium transmission, infrared transmission and near-field communication transmission; accordingly, the above-mentioned first acquisition module 701 is also specifically used to: in response to the user's input operation on the first device information, input the first device information into the first device information input control.

[0113] In one embodiment, the device provided in the embodiment of the present application also includes a second receiving module, which is used to receive the first device information sent by the device to be activated through a non-network transmission method, and the non-network transmission method includes at least one of Bluetooth transmission, physical storage medium transmission, infrared transmission and near-field communication transmission; accordingly, the above-mentioned first acquisition module 701 is also specifically used to monitor when the first device information is received, parse the first device information, and fill it into the device information input control.

[0114] In one embodiment, the device provided in the embodiment of the present application also includes: a second display module, used to display a registration interface in response to a registration operation input by a user, and a registration information input box is provided on the registration interface; a second sending module, used to send a registration request to the activation server after receiving the registration information input by the user through the registration information input box, and the registration request carries the registration information; a first acquisition module, used to obtain the activation authority of the activation program, and the activation authority is issued by the activation server after registering the registration information.

[0115] The functions of each module in each device in the embodiments of the present application can be found in the corresponding description in the above method, and have corresponding beneficial effects, which will not be repeated here.

[0116] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can refer to the partial description of the method embodiments. The device embodiments described above are merely schematic, wherein the modules described as separate components may or may not be physically separated, and the components illustrated as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present application. A person of ordinary skill in the art can understand and implement it without creative work.

[0117] Understandably, Figure 7 The division of the modules is only a division of logical functions. In actual implementation, the functions of the above modules can be integrated into the auxiliary activation device. For example, the functions of the first acquisition module 701 and the first sending module 702 can be integrated into the communication device of the auxiliary activation device, and the function of the first display module 703 can be integrated into the processor of the auxiliary activation device.

[0118] Corresponding to the method provided in the embodiment of the present application, based on the same idea, the embodiment of the present application also provides a software activation device, Figure 8 The schematic diagram of the module composition of the software activation device provided in the embodiment of the present application is shown. The device can be configured in Figure 1 In the device to be activated 130 in the application scenario shown. The device can execute the embodiment of the present application Figure 3 The method provided in the embodiment shown. Figure 8 As shown, the software activation device includes: a second acquisition module 801, which is used to obtain the first device information of the device to be activated in response to receiving a device information acquisition instruction, and the device to be activated is a computing device used to install the software to be activated; a third receiving module 802, which is used to receive the activation code from the auxiliary activation device through user input or non-network transmission; an activation module 803, which is used to activate the software to be activated according to the activation code based on the activation instruction input by the user, and the activation code is generated by the activation server when the auxiliary activation device sends the first device information and the software identification information of the software to be activated to the activation server.

[0119] In one implementation, the activation module 803 is specifically used to: parse the activation code to obtain the second device information carried in the activation code; verify whether the second device information is consistent with the first device information; if they are consistent, execute the activation operation of the software to be activated.

[0120] In one embodiment, the activation code is obtained by concatenating ciphertext information and summary information, the ciphertext information is encrypted based on the first device information, and the summary information is signed using a private key in a preset key pair; the activation module 803 is further specifically used to: verify the summary information based on the public key in the preset key pair; if the verification is successful, decrypt the ciphertext information to obtain the second device information.

[0121] In one embodiment, the device provided in the embodiment of the present application also includes a storage module for storing activation-related information of the software to be activated in the form of a unified extensible firmware interface UEFI variable, wherein the activation-related information includes at least one of the following information: activation duration of the software to be activated, software identification information of the software to be activated, a license file identifier corresponding to the software to be activated, and a verification key of the activation code.

[0122] The functions of each module in each device in the embodiments of the present application can be found in the corresponding description in the above method, and have corresponding beneficial effects, which will not be repeated here.

[0123] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can refer to the partial description of the method embodiments. The device embodiments described above are merely schematic, wherein the modules described as separate components may or may not be physically separated, and the components illustrated as modules may or may not be physical modules, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present application. A person of ordinary skill in the art can understand and implement it without creative work.

[0124] Understandably, Figure 8 The division of the modules is only a division of logical functions. In actual implementation, the functions of the above modules can be integrated into the device to be activated. For example, the functions of the second acquisition module 801 and the activation module 803 can be integrated into the processor of the device to be activated.

[0125] Fig. 9 is a block diagram of an electronic device used to implement an embodiment of the present application. Fig. 9 As shown, the electronic device includes: a memory 901 and a processor 902, and the memory 901 stores a computer program that can be run on the processor 902. When the processor 902 executes the computer program, the method in the above embodiment is implemented. The number of the memory 901 and the processor 902 can be one or more. In a specific implementation, the electronic device may also include a communication interface 903 for communicating with external devices and performing data exchange transmission.

[0126] In specific implementation, if the memory 901, the processor 902 and the communication interface 903 are implemented independently, the memory 901, the processor 902 and the communication interface 903 can be connected to each other through a bus and communicate with each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig. 9 Only one thick line is used in the diagram, but this does not mean that there is only one bus or only one type of bus.

[0127] Optionally, in a specific implementation, if the memory 901, the processor 902 and the communication interface 903 are integrated on a chip, the memory 901, the processor 902 and the communication interface 903 can communicate with each other through an internal interface.

[0128] An embodiment of the present application provides a computer-readable storage medium storing a computer program, which implements the method provided in the embodiment of the present application when the program is executed by a processor.

[0129] An embodiment of the present application provides a computer program product, including a computer program, which implements the method provided in the embodiment of the present application when executed by a processor.

[0130] An embodiment of the present application also provides a chip, which includes a processor for calling and executing instructions stored in the memory from the memory, so that a communication device equipped with the chip executes the method provided by the embodiment of the present application.

[0131] An embodiment of the present application also provides a chip, including: an input interface, an output interface, a processor and a memory, wherein the input interface, the output interface, the processor and the memory are connected via an internal connection path, and the processor is used to execute the code in the memory. When the code is executed, the processor is used to execute the method provided in the embodiment of the application.

[0132] It should be understood that the processor may be a CPU, or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. It is worth noting that the processor may be a processor supporting the Advanced RISC Machines (ARM) architecture.

[0133] Further, optionally, the above-mentioned memory may include a read-only memory and a random access memory. The memory may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory. Among them, the non-volatile memory may include a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may include a random access memory (RAM), which is used as an external cache. By way of exemplary but not limiting description, many forms of RAM are available. For example, static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct memory bus random access memory (DR RAM).

[0134] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function according to the present application is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another computer-readable storage medium.

[0135] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present application. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine different embodiments or examples described in this specification and the features of different embodiments or examples, unless they are contradictory.

[0136] In addition, the terms "first" and "second" are used for descriptive purposes only and should not be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "plurality" is two or more, unless otherwise clearly and specifically defined.

[0137] Any process or method described in the flow chart or otherwise described herein can be understood as a module, fragment or portion of a code representing one or more executable instructions for implementing the steps of a specific logical function or process. And the scope of the preferred embodiment of the present application includes other implementations, in which the functions may not be performed in the order shown or discussed, including in a substantially simultaneous manner or in a reverse order according to the functions involved.

[0138] The logic and / or steps described in the flowchart or otherwise described herein, for example, can be considered as an ordered list of executable instructions for implementing logical functions, which can be embodied in any computer-readable medium for use by an instruction execution system, apparatus or device (such as a computer-based system, a system including a processor or other system that can fetch instructions from an instruction execution system, apparatus or device and execute instructions), or used in combination with these instruction execution systems, apparatuses or devices.

[0139] It should be understood that the various parts of the present application can be implemented with hardware, software, firmware or a combination thereof. In the above embodiments, multiple steps or methods can be implemented with software or firmware stored in a memory and executed by a suitable instruction execution system. All or part of the steps of the above embodiment method can be completed by instructing the relevant hardware through a program, which can be stored in a computer-readable storage medium, and when the program is executed, it includes one of the steps of the method embodiment or a combination thereof.

[0140] In addition, each functional unit in each embodiment of the present application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into one module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of a software functional module. If the above-mentioned integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The storage medium can be a read-only memory, a disk or an optical disk, etc.

[0141] The above is only an exemplary embodiment of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of various changes or substitutions within the technical scope recorded in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application shall be based on the protection scope of the claims.

Claims

1. A software activation method, characterized in that: Applied to auxiliary activation equipment, the method comprises: Acquire software identification information of the software to be activated and first device information of the device to be activated, where the device to be activated is a computing device used to install the software to be activated; Sending the software identification information and the first device information to an activation server, wherein the software identification information is used to enable the activation server to verify the software to be activated, and the first device information is used to enable the activation server to generate an activation code for the software to be activated; The activation code returned by the activation server is received and displayed, where the activation code is used to enable the device to be activated to activate the software to be activated.

2. The method according to claim 1, characterized in that The step of obtaining the software identification information of the software to be activated and the first device information of the device to be activated includes: The first device information is received through the device information input control on the activation program interaction interface, and the software identification information is received through the software identification input control on the activation program interaction interface. The activation program is used to interact with the activation server and the auxiliary activation device respectively, and the activation program is obtained by accessing the activation server.

3. The method according to claim 2, characterized in that Before receiving the first device information by activating the device information input control on the program interaction interface, the method further includes: Receiving first device information sent by the device to be activated through a non-network transmission method, where the non-network transmission method includes at least one of Bluetooth transmission, physical storage medium transmission, infrared transmission, and near field communication transmission; The receiving the first device information by activating a device information input control on the program interaction interface includes: In response to a user input operation on the first device information, the first device information is input into the device information input control.

4. The method according to claim 2, characterized in that: Before receiving the first device information by activating the device information input control on the program interaction interface, the method further includes: Receiving first device information sent by the device to be activated through a non-network transmission method, where the non-network transmission method includes at least one of Bluetooth transmission, physical storage medium transmission, infrared transmission, and near field communication transmission; The receiving the first device information by activating a device information input control on the program interaction interface includes: When the monitoring device receives the first device information, the first device information is parsed and filled into the device information input control.

5. The method according to any one of claims 2 to 4, characterized in that: The method further comprises: In response to a registration operation input by a user, a registration interface is displayed, wherein a registration information input box is provided on the registration interface; After receiving the registration information input by the user through the registration information input box, sending a registration request to the activation server, wherein the registration request carries the registration information; The activation authority of the activation program is obtained, where the activation authority is issued by the activation server after registering the registration information.

6. A software activation method, characterized in that: Applied to the device to be activated, the method includes: In response to receiving the device information acquisition instruction, acquiring first device information of the device to be activated, where the device to be activated is a computing device used to install the software to be activated; Receiving an activation code from an auxiliary activation device through user input or non-network transmission; The software to be activated is activated according to the activation code based on an activation instruction input by a user, wherein the activation code is generated by the activation server when the auxiliary activation device sends the first device information and software identification information of the software to be activated to the activation server.

7. The method according to claim 6, characterized in that The activating the software to be activated according to the activation code comprises: Parsing the activation code to obtain the second device information carried in the activation code; Verifying whether the second device information is consistent with the first device information; If they are consistent, the activation operation of the software to be activated is executed.

8. The method according to claim 7, characterized in that The activation code is obtained by concatenating ciphertext information and summary information, wherein the ciphertext information is encrypted based on the first device information, and the summary information is signed using a private key in a preset key pair; The parsing the activation code to obtain the second device information carried in the activation code includes: Verifying the summary information based on a public key in a preset key pair; If the verification is successful, the ciphertext information is decrypted to obtain the second device information.

9. The method according to any one of claims 6 to 8, characterized in that: The method further comprises: The activation related information of the software to be activated is stored in the form of a Unified Extensible Firmware Interface (UEFI) variable, wherein the activation related information includes at least one of the following information: the activation duration of the software to be activated, the software identification information of the software to be activated, the license file identification corresponding to the software to be activated, and the verification key of the activation code.

10. A software activation system, characterized in that: It includes an auxiliary activation device, a device to be activated and an activation server, wherein the device to be activated is a computing device used to install the software to be activated; The device to be activated is used to obtain first device information of the device to be activated in response to receiving a device information acquisition instruction; The auxiliary activation device is used to obtain the software identification information of the software to be activated and the first device information, send the software identification information and the first device information to the activation server, and receive and display the activation code returned by the activation server; The activation server is configured to verify the software to be activated based on the software identification information, generate an activation code for the software to be activated based on the first device information, and send the activation code to the auxiliary activation device; The device to be activated is further configured to receive the activation code from the auxiliary activation device through user input or non-network transmission, and activate the software to be activated according to the activation code based on an activation instruction input by the user.

11. The system according to claim 10, characterized in that The auxiliary activation device is specifically used for: The first device information is received through the device information input control on the activation program interaction interface, and the software identification information is received through the software identification input control on the activation program interaction interface. The activation program is used to interact with the activation server and the auxiliary activation device respectively, and the activation program is obtained by accessing the activation server.

12. The system according to claim 10 or 11, characterized in that The device to be activated is specifically used for: The activation code is parsed to obtain the second device information carried in the activation code; whether the second device information is consistent with the first device information is verified; if they are consistent, the activation operation of the software to be activated is performed.

13. The system according to claim 10 or 11, characterized in that: The activation server is also used to: Generate activation record information, the activation record information including the duration of the authorized use of the software to be activated and the number of software currently activated.

14. An electronic device, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory, wherein the processor implements the method according to any one of claims 1 to 5 when executing the computer program, or the processor implements the method according to any one of claims 6 to 9 when executing the computer program.

15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented; or when the computer program is executed by a processor, the method according to any one of claims 6 to 9 is implemented.

16. A computer program product, characterized in that The method comprises a computer program, which implements the method according to any one of claims 1 to 5 when executed by a processor, or implements the method according to any one of claims 6 to 9 when executed by a processor.

Citation Information

Patent Citations

  • Information processing method and device and electronic equipment

    CN103677872A

  • A method and system for offline activation of software

    CN109271757A

  • Equipment binding method, electronic equipment and storage medium

    CN119167350A

  • Offline activation authorization method and device, electronic equipment and storage medium

    CN119203074A

  • Software verification device and software verification method

    US20210192014A1