WO2021159931A1 - 软件许可本地部署方法、装置、设备及存储介质 - Google Patents

软件许可本地部署方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2021159931A1
WO2021159931A1 PCT/CN2021/072806 CN2021072806W WO2021159931A1 WO 2021159931 A1 WO2021159931 A1 WO 2021159931A1 CN 2021072806 W CN2021072806 W CN 2021072806W WO 2021159931 A1 WO2021159931 A1 WO 2021159931A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
license
machine code
file
deployed
Prior art date
Application number
PCT/CN2021/072806
Other languages
English (en)
French (fr)
Inventor
杨哲
Original Assignee
深圳壹账通智能科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳壹账通智能科技有限公司 filed Critical 深圳壹账通智能科技有限公司
Publication of WO2021159931A1 publication Critical patent/WO2021159931A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication

Definitions

  • This application relates to the technical field of identity authentication for information security, and in particular to a method, device, device, and storage medium for local deployment of software licenses.
  • the main purpose of this application is to solve the technical problem that service requests in the full-link monitoring system use a global sampling frequency, which results in some services not being sampled.
  • increasing the global sampling frequency will reduce service performance, consume network bandwidth, and reduce the technical problem of monitoring system performance.
  • the first aspect of the present application provides a software license local deployment method, including: reading the license file, the license verification file, and the machine code of the unit to be deployed in the software installation file; and parsing the license file , Obtain the corresponding software key and machine code file; decode the software key to obtain the corresponding private key; decrypt the machine code file according to the private key to obtain the target machine code; determine the Whether the target machine code is the same as the machine code of the unit to be deployed; if the target machine code is the same as the machine code of the unit to be deployed, the service corresponding to the software is loaded, and the software license of the unit to be deployed is determined locally The deployment was successful.
  • the second aspect of the present application provides a software license local deployment device, including a memory, a processor, and computer-readable instructions stored in the memory and running on the processor, and the processor executes the computer
  • the instructions executes the computer
  • the following steps are implemented: read the license file, license verification file and the machine code of the unit to be deployed in the software installation file; parse the license file to obtain the corresponding software key and machine code file;
  • the software key is decoded to obtain the corresponding private key;
  • the machine code file is decrypted according to the private key to obtain the target machine code; it is judged whether the target machine code is the same as the machine code of the unit to be deployed ; If the target machine code is the same as the machine code of the unit to be deployed, the service corresponding to the software is loaded, and it is determined that the local deployment of the software license of the unit to be deployed is successful.
  • the third aspect of the present application provides a computer-readable storage medium that stores computer instructions, and when the computer instructions are executed on the computer, the computer executes the following steps: read the software installation file The license file, the license verification file, and the machine code of the unit to be deployed; analyze the license file to obtain the corresponding software key and machine code file; decode the software key to obtain the corresponding private key; Decrypt the machine code file according to the private key to obtain the target machine code; determine whether the target machine code is the same as the machine code of the unit to be deployed; if the target machine code is the same as the unit to be deployed If the machine codes are the same, the service corresponding to the software is loaded, and it is determined that the local deployment of the software license of the unit to be deployed is successful.
  • the fourth aspect of the present application provides a software license local deployment device, including: a machine code reading module for reading the license file, the license verification file, and the machine code of the unit to be deployed in the software installation file; the parsing module uses The license file is parsed to obtain the corresponding software key and machine code file; the decoding module is used to decode the software key to obtain the corresponding private key; the target machine code obtaining module is used to obtain the corresponding private key.
  • the private key decrypts the machine code file to obtain the target machine code; a judging module is used to judge whether the target machine code is the same as the machine code of the unit to be deployed; a loading module is used if the target If the machine code is the same as the machine code of the unit to be deployed, the service corresponding to the software is loaded, and it is determined that the local deployment of the software license of the unit to be deployed is successful.
  • the license file, license verification file and the machine code of the unit to be deployed in the software installation file are read; the license file is parsed to obtain the corresponding software key and machine code file; The software key is decoded to obtain the corresponding private key; the machine code file is decrypted according to the private key to obtain the target machine code; it is judged whether the target machine code is the same as the machine code of the unit to be deployed If the target machine code is the same as the machine code of the unit to be deployed, the service corresponding to the software is loaded, and it is determined that the local deployment of the software license of the unit to be deployed is successful.
  • the embodiment of this application is implemented by machine code verification The verification mechanism during the local deployment of the software license saves the machine cost and manpower maintenance cost of building a private authorization server.
  • FIG. 1 is a schematic diagram of an embodiment of a method for local deployment of software licenses in an embodiment of the application
  • FIG. 2 is a schematic diagram of another embodiment of a method for local deployment of software licenses in an embodiment of this application;
  • FIG. 3 is a schematic diagram of an embodiment of a software license local deployment apparatus in an embodiment of the application
  • FIG. 4 is a schematic diagram of another embodiment of the software license local deployment apparatus in an embodiment of the application.
  • Fig. 5 is a schematic diagram of another embodiment of a software license local deployment device in an embodiment of the application.
  • the embodiments of the present application provide a method, device, equipment, and storage medium for local deployment of software licenses, which are used to reduce the cost of local deployment of software.
  • An embodiment of the software license local deployment method in the embodiment of the present application includes:
  • the local computer first reads the license file, the license verification file, and the machine code of the unit to be deployed in the software installation file.
  • the unit to be deployed is the one that needs to install the licensed software.
  • the machine code of the unit to be deployed includes mac address, cpu kernel serial number and other information.
  • step 101 it includes:
  • the license file includes the software license usage time, interface shielding list, software license certificate, and software key generation path.
  • the server when it receives a request from the user to register and install the software through the unit to be deployed, it configures a license file in the software installation file.
  • the license file includes the software license usage time, interface shielding list, software license certificate, and software key generation The path and other information, in which, during software development, you need to customize the interfaces that need to be shielded to call.
  • the interface shielding list corresponding to the list of interfaces that need to be shielded must be set in the license file.
  • AOP aspect oriented programming
  • the preset asynchronous message mechanism is triggered to make corresponding processing.
  • the preset asynchronous message mechanism is not limited here.
  • the pre-configured license file in the software installation file provides a basis for realizing the local deployment and verification of the software license.
  • step 101 further includes:
  • the license verification file includes the storage path of the software license certificate, the storage path of the software key, and the scan interval of regular tasks.
  • the server when it receives a request from the user to register and install the software through the unit to be deployed, it configures a verification file in the software installation file.
  • the license verification file includes the storage path of the software license certificate, the storage path of the software key, and the timing Task scan interval time and timing task scan interval unit and other information. Among them, the scanning interval of the scheduled task is the interval of the task that needs to run regularly to scan and calculate the remaining time of the licensed software.
  • the license verification file is pre-configured in the software installation file to realize the local deployment and verification of the software license. Provided the foundation.
  • step 101 further includes:
  • the machine code is salted and encrypted, and the corresponding machine code file is generated.
  • the corresponding software key and software serial number are generated according to the machine code file.
  • the software key includes a public key and a private key.
  • the server obtains the machine code of the unit to be installed through the machine code collection tool, which is all computer terminals that apply for permission to use the software; and performs salting and encryption processing on the obtained machine code to generate a corresponding machine code file.
  • the machine code can be encrypted and salted through Message Digest Algorithm 5 (MD5 Message-Digest Algorithm Five) or Bcrypt encryption algorithm. After encryption and salting, a string is generated and stored in a text file to obtain Corresponding machine code files, in order to enhance the concealment and complexity of the machine code, and improve the security of the local verification mechanism of the software license through the machine verification.
  • the server also generates a corresponding software key and software serial number according to the machine code file.
  • the software key includes a public key and a private key.
  • the server uses public key encryption when issuing the software license to the unit to be deployed, and the software license is locally The deployment and installation are decrypted by the private key.
  • the server receives a request from the user to register and install the software through the unit to be deployed, it generates a corresponding unique identification code according to the obtained machine code, and the unique identification code is the software serial number.
  • the software serial number can be salted and encrypted, so as to improve the security of the software serial number to prevent the current user's software from being stolen by other users. This application realizes the concealment and complexity of the machine code through this machine code acquisition and encryption processing method, and improves the security of the local verification mechanism for software licenses through machine verification.
  • the local computer after reading the license file, the license verification file, and the machine code of the unit to be deployed in the software installation file, the local computer further parses the license file to obtain the key of the software to be installed and the corresponding machine code file.
  • the local computer decodes the software key and obtains the private key corresponding to the software to be installed.
  • the private key can be decrypted to obtain the corresponding software license. Certificate.
  • the local computer decrypts the above-mentioned machine code file according to the private key to obtain the target machine code, which is the machine in the machine code file obtained by the remote server through salting and encryption in advance. code.
  • the local computer further determines whether the target machine code is the same as the machine code of the unit to be deployed.
  • the target machine code is the same as the machine code of the unit to be deployed, load the service corresponding to the software, and determine that the local deployment of the software license of the unit to be deployed is successful.
  • the local computer determines that the target machine code is the same as the machine code of the unit to be deployed, loads the service corresponding to the software, and determines that the local deployment of the software license of the unit to be deployed is successful.
  • the loaded software corresponding service is based on all or part of the software function modules selected or purchased by the user, and the software license certificate corresponds to the licensed software service scope in the license file.
  • step 105 includes:
  • target machine code is not the same as the machine code of the unit to be deployed, stop loading the service corresponding to the software, and determine that the local deployment of the software license of the unit to be deployed fails.
  • the local computer determines that the target machine code is not the same as the machine code of the unit to be deployed, it stops loading the service corresponding to the software, and determines that the local deployment of the software license of the unit to be deployed fails.
  • the service corresponding to the software is stopped loading, and it is determined that the local deployment of the software license of the unit to be deployed fails.
  • the method embodiment of the present application realizes the local deployment of software license by comparing whether the target machine code obtained by decryption is the same as the machine code of the unit to be deployed on the local end, and stopping loading the corresponding service of the software when the comparison is judged to be different.
  • the verification in the process is simple and effective, saving the machine cost and manpower maintenance cost of building a private authorization server.
  • target machine code is the same as the machine code of the unit to be deployed, load the service corresponding to the software, and determine that the local deployment of the software license of the unit to be deployed is successful.
  • steps 201 to 206 in this embodiment are the same as the above steps 101 to 106, and will not be repeated here.
  • the local computer After loading the service corresponding to the software on the local end, the local computer obtains the corresponding software license use time.
  • the local computer also calculates the remaining time for the license to use the software for the unit to be deployed based on the software license usage time. For example, if the authorized software license usage time is 365 days and the software has been used for 100 days, the remaining time for the licensed software usage is 165 days. .
  • the local computer judges whether the remaining time of the licensed software is zero. For example, if the licensed software is used for 365 days and the software has been used for 365 days, then the remaining time for the licensed software is 0 days, and the software is licensed to use the software. The remaining time is zero.
  • the local computer determines that the software license of the unit to be deployed has expired.
  • the preset asynchronous message mechanism can be completed by creating a message according to specific information notification requirements through asynchronous messages. , It is not limited here.
  • the local computer uses the kill command to kill the current process of the software and exit the software, so that the software exits and cannot be used.
  • the step can be further set as the default processing method for the expired software license.
  • step 209 it further includes:
  • the preset asynchronous message mechanism sends a notification message that the remaining time of the license to use the software and the certificate is about to expire.
  • the local computer determines that the remaining time of the license to use the software for the unit to be deployed is not zero, it continues to determine whether the remaining time of the license to use the software is within the set time period threshold, and if the determination is yes, it triggers the issuance of the certificate that is about to expire If the notification information is not within the set time period threshold, the software can continue to be used normally.
  • the set time period threshold is 0-40 days, and the calculated remaining time of the licensed software is 30 days. If the remaining time of the licensed software is within this time period, the remaining time of the licensed software will be compared with A notification message that the certificate is about to expire is issued to remind the current user of the software.
  • the preset asynchronous message mechanism can be completed by creating a message through asynchronous messages according to specific information notification requirements, which is not limited here. By verifying the use time of the software license, another verification method for the use of local software licenses is realized.
  • this embodiment uses both machine code and time verification for the software license certificate, thereby realizing the double verification of the local software license, and this application adopts the machine code and time double verification processing method. , There is no need to deploy a server locally, or a dedicated person for maintenance, which reduces the cost of local deployment of the software system, and also improves the security of the local verification mechanism for software licenses.
  • An embodiment of the software license local deployment device in the embodiment of the present application includes:
  • the machine code reading module 301 is used to read the license file, the license verification file and the machine code of the unit to be deployed in the software installation file.
  • the parsing module 302 is used for parsing the license file to obtain the corresponding software key and machine code file.
  • the decoding module 303 is used to decode the software key and obtain the corresponding private key.
  • the target machine code obtaining module 304 is used to decrypt the machine code file according to the private key to obtain the target machine code.
  • the judging module 305 is used to judge whether the target machine code is the same as the machine code of the unit to be deployed.
  • the loading module 306 is configured to load the service corresponding to the software if the target machine code is the same as the machine code of the unit to be deployed, and determine that the local deployment of the software license of the unit to be deployed is successful.
  • the software license local deployment apparatus further includes:
  • the stop loading module is used to stop loading the service corresponding to the software if the target machine code is different from the machine code of the unit to be deployed, and determine that the local deployment of the software license of the unit to be deployed fails.
  • the software license local deployment device includes:
  • the machine code reading module 301 is used to read the license file, the license verification file and the machine code of the unit to be deployed in the software installation file.
  • the parsing module 302 is used for parsing the license file to obtain the corresponding software key and machine code file.
  • the decoding module 303 is used to decode the software key and obtain the corresponding private key.
  • the target machine code obtaining module 304 is used to decrypt the machine code file according to the private key to obtain the target machine code.
  • the judging module 305 is used to judge whether the target machine code is the same as the machine code of the unit to be deployed.
  • the loading module 306 is configured to load the service corresponding to the software if the target machine code is the same as the machine code of the unit to be deployed, and determine that the local deployment of the software license of the unit to be deployed is successful.
  • the software license use time acquisition module 307 is configured to obtain the corresponding software license use time.
  • the remaining time calculation module 308 is configured to calculate the remaining time for the unit to be deployed to license the software to be used according to the software license use time.
  • the remaining time judging module 309 is used to judge whether the remaining time of the licensed software is zero.
  • the certificate expiration judging module 310 is configured to judge that the software license of the unit to be deployed has expired if the remaining time period of the license to use the software is zero.
  • the expiration notification module 311 is configured to send notification information of certificate expiration according to a preset asynchronous message mechanism.
  • the process kill module 312 is used to kill the current process of the software by using the kill command and exit the software.
  • the software license local deployment device further includes:
  • the remaining time duration continuing judgment module is used to if the remaining time duration of the licensed software is not zero, continue to judge whether the remaining time duration of the licensed software is within the set time period threshold.
  • the upcoming expiration notification module is used for if the remaining time of the license to use the software is within the set time period threshold, the preset asynchronous message mechanism sends out notification information about the remaining time of the license to use the software and the certificate is about to expire.
  • the software license local deployment device further includes:
  • the license file configuration module is used to configure the license file in the software installation file.
  • the license file includes the software license usage time, interface shielding list, software license certificate, and software key generation path.
  • the software license local deployment device also includes:
  • the license verification file configuration module is used to configure the license verification file in the installation file.
  • the license verification file includes the storage path of the software license certificate, the storage path of the software key, and the scanning interval time of regular tasks.
  • the software license local deployment device further includes:
  • the machine code acquisition module is used to acquire the machine code of the unit to be installed through the machine code acquisition tool.
  • the salting encryption processing module is used to perform salting and encryption processing on the machine code to generate a corresponding machine code file.
  • the software key and serial number generation module is used to generate the corresponding software key and software serial number according to the machine code file.
  • the software key includes a public key and a private key.
  • the binding module is used to bind the software key and software serial number to the software license certificate.
  • FIG. 5 is a schematic structural diagram of a software license local deployment device provided by an embodiment of the present application.
  • the software license local deployment device 500 may have relatively large differences due to different configurations or performance, and may include one or more processors (central Processing units, CPU) 501 (for example, one or more processors) and memory 509, and one or more storage media 508 (for example, one or more storage devices with a large amount of data) storing application programs 507 or data 506.
  • the memory 509 and the storage medium 508 may be short-term storage or persistent storage.
  • the program stored in the storage medium 508 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations in the local deployment of the software license.
  • the processor 501 may be configured to communicate with the storage medium 508, and execute a series of instruction operations in the storage medium 508 on the software license local deployment device 500.
  • the software license local deployment device 500 may also include one or more power supplies 502, one or more wired or wireless network interfaces 503, one or more input and output interfaces 504, and/or one or more operating systems 505, such as Windows Serve, Mac OS X, Unix, Linux, FreeBSD, etc.
  • operating systems 505 such as Windows Serve, Mac OS X, Unix, Linux, FreeBSD, etc.
  • FIG. 5 does not constitute a limitation on the software license local deployment device, and may include more or less components than shown in the figure, or a combination of certain components. Or different component arrangements.
  • the disclosed system, device, and method can be implemented in other ways.
  • the device embodiments described above are merely illustrative, for example, the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
  • the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present application essentially or the part that contributes to the existing technology or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , Including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (read-only memory, ROM), random access memory (random access memory, RAM), magnetic disks or optical disks and other media that can store program codes. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及信息安全技术领域,公开了一种软件许可本地部署方法、装置、设备及存储介质,用于降低软件本地部署的成本。所述方法包括:读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码;对所述许可文件进行解析,获取对应的软件密钥和机器码文件;对所述软件密钥进行解码,获取对应的私钥;根据所述私钥对所述机器码文件进行解密处理,得到目标机器码;判断所述目标机器码与所述待部署单元的机器码是否相同;若所述目标机器码与所述待部署单元的机器码相同,则加载软件对应的服务,并判定所述待部署单元的软件许可本地部署成功。

Description

软件许可本地部署方法、装置、设备及存储介质
本申请要求于2020年02月13日提交中国专利局、申请号为202010090295.1、发明名称为“软件许可本地部署方法、装置、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在申请中。
技术领域
本申请涉及信息安全的身份认证技术领域,尤其涉及一种软件许可本地部署方法、装置、设备及存储介质。
背景技术
目前对软件本地部署的方法,大多需要搭建私有服务器并进行连网实现本地验证及授权,导致本地安装软件需占用额外的服务器资源和网络资源,此外,也需要专业技术人员对搭建的私有服务器进行维护,发明人意识到,目前针对软件进行本地部署过程中,存在成本高的问题。
发明内容
本申请的主要目的在于解决全链路监控系统中业务请求采用全局采样频率,导致部分业务没有被采样,而增加全局采样频率又会降低业务性能、消耗网络带宽以及降低监控系统性能的技术问题。
为实现上述目的,本申请第一方面提供了一种软件许可本地部署方法,包括:读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码;对所述许可文件进行解析,获取对应的软件密钥和机器码文件;对所述软件密钥进行解码,获取对应的私钥;根据所述私钥对所述机器码文件进行解密处理,得到目标机器码;判断所述目标机器码与所述待部署单元的机器码是否相同;若所述目标机器码与所述待部署单元的机器码相同,则加载软件对应的服务,并判定所述待部署单元的软件许可本地部署成功。
本申请第二方面提供了一种软件许可本地部署设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码;对所述许可文件进行解析,获取对应的软件密钥和机器码文件;对所述软件密钥进行解码,获取对应的私钥;根据所述私钥对所述机器码文件进行解密处理,得到目标机器码;判断所述目标机器码与所述待部署单元的机器码是否相同;若所述目标机器码与所述待部署单元的机器码相同,则加载软件对应的服务,并判定所述待部署单元的软件许可本地部署成功。
本申请的第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如下步骤:读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码;对所述许可文件进行解析, 获取对应的软件密钥和机器码文件;对所述软件密钥进行解码,获取对应的私钥;根据所述私钥对所述机器码文件进行解密处理,得到目标机器码;判断所述目标机器码与所述待部署单元的机器码是否相同;若所述目标机器码与所述待部署单元的机器码相同,则加载软件对应的服务,并判定所述待部署单元的软件许可本地部署成功。
本申请第四方面提供了一种软件许可本地部署装置,包括:机器码读取模块,用于读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码;解析模块,用于对所述许可文件进行解析,获取对应的软件密钥和机器码文件;解码模块,用于对所述软件密钥进行解码,获取对应的私钥;目标机器码获取模块,用于根据所述私钥对所述机器码文件进行解密处理,得到目标机器码;判断模块,用于判断所述目标机器码与所述待部署单元的机器码是否相同;加载模块,用于若所述目标机器码与所述待部署单元的机器码相同,则加载软件对应的服务,并判定所述待部署单元的软件许可本地部署成功。
本申请提供的技术方案中,读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码;对所述许可文件进行解析,获取对应的软件密钥和机器码文件;对所述软件密钥进行解码,获取对应的私钥;根据所述私钥对所述机器码文件进行解密处理,得到目标机器码;判断所述目标机器码与所述待部署单元的机器码是否相同;若所述目标机器码与所述待部署单元的机器码相同,则加载软件对应的服务,并判定所述待部署单元的软件许可本地部署成功,本申请实施例通过通过机器码校验实现软件许可本地部署过程中的校验机制,节省了搭建私有授权服务器的机器成本和人力维护成本。
附图说明
图1为本申请实施例中软件许可本地部署方法的一个实施例示意图;
图2为本申请实施例中软件许可本地部署方法的另一个实施例示意图;
图3为本申请实施例中软件许可本地部署装置的一个实施例示意图;
图4为本申请实施例中软件许可本地部署装置的另一个实施例示意图;
图5为本申请实施例中软件许可本地部署设备的另一个实施例示意图。
具体实施方式
本申请实施例提供了一种软件许可本地部署方法、装置、设备及存储介质,用于降低软件本地部署的成本。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不 必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本申请实施例的具体流程进行描述,请参阅图1,本申请实施例中软件许可本地部署方法的一个实施例包括:
101、读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码。
具体的,在待部署单元启动软件之后,本地计算机首先读取软件的安装文件中许可文件、许可校验文件以及待部署单元的机器码,具体实施时,待部署单元为需要安装被许可软件的本地计算机终端,待部署单元的机器码包括mac地址、cpu内核序列号等信息。
进一步地,在步骤101之前,包括:
在软件安装文件中配置许可文件,许可文件包括软件许可使用时长、接口屏蔽名单、软件许可证书和软件密钥生成路径。
具体的,服务器在接收到用户通过待部署单元申请注册安装软件的请求时,在软件的安装文件中配置许可文件,许可文件包括软件许可使用时长、接口屏蔽名单、软件许可证书和软件密钥生成路径等信息,其中,在软件开发时需自定义需要屏蔽调用的接口,这些需要屏蔽的接口列表对应的接口屏蔽名单必须设置在许可文件中,当注册安装请求进来时,通过面向切面编程(aspect oriented programming,AOP)注解校验当前注册安装请求的相关接口是否在接口屏蔽名单中,如果存在则触发预设的异步消息机制作相应处理,该预设的异步消息机制在此不作限定,通过在软件安装文件中预先配置许可文件,为实现软件许可本地部署及校验提供了基础。
进一步地,在步骤101之前,还包括:
在安装文件中配置许可校验文件,许可校验文件包括软件许可证书存放路径、软件密钥存放路径、定时任务扫描间隔时间。
具体的,服务器在接收到用户通过待部署单元申请注册安装软件的请求时,在软件的安装文件中配置校验文件,其许可校验文件包括软件许可证书存放路径、软件密钥存放路径、定时任务扫描间隔时间和定时任务扫描间隔单位等信息。其中,定时任务扫描间隔时间为对许可使用软件的剩余时长进行扫描及计算的任务需要定期运行的间隔时间,通过在软件安装文件中预先配置许可校验文件,为实现软件许可本地部署及校验提供了基础。
进一步地,在步骤101之前,还包括:
通过机器码采集工具获取待安装单元的机器码。
对机器码进行加盐加密处理,生成对应的机器码文件。
根据机器码文件生成对应的软件密钥和软件序列号,软件密钥包括公钥和私钥。
将软件密钥和软件序列号绑定到软件许可证书中。
具体的,服务器通过机器码采集工具获取待安装单元的机器码,待安装单元为所有申请许可使用软件的计算机终端;并对获取得到的机器码进行加盐加密处理,生成对应的机 器码文件。具体的,可以通过消息摘要算法5(MD5 Message-Digest Algorithm Five,MD5)或Bcrypt加密算法实现对机器码进行加密及加盐处理,经过加密及加盐处理生成一个字符串存入文本文件,得到对应的机器码文件,以此来增强机器码的隐蔽性和复杂度,提高通过机器校验实现软件许可本地校验机制的安全性。
进一步地,服务器还根据机器码文件生成对应的软件密钥和软件序列号,软件密钥包括公钥和私钥,其中服务器在给待部署单元发放软件许可证书时采用公钥加密,软件许可本地部署安装时通过私钥解密,服务器在接收到用户通过待部署单元申请注册安装软件的请求时,根据获取的机器码生成对应的唯一识别码,该唯一识别码为软件序列号。进一步地,可以对软件序列号进行加盐加密处理,从而提高软件序列号的安全性,以防当前用户的软件被其它用户盗用。本申请通过该机器码获取及加密处理方式,实现了机器码的隐蔽性和复杂度,并提高通过机器校验实现软件许可本地校验机制的安全性。
102、对许可文件进行解析,获取对应的软件密钥和机器码文件。
具体的,在读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码之后,本地计算机进一步对许可文件进行解析,获取待安装软件的密钥和对应的机器码文件。
103、对软件密钥进行解码,获取对应的私钥。
具体的,在获取软件密钥和机器码文件之后,本地计算机对软件密钥进行解码,获取待安装软件对应的私钥,在软件许可本地部署安装时通过该私钥解密可获取对应的软件许可证书。
104、根据私钥对机器码文件进行解密处理,得到目标机器码。
具体的,在获取私钥后,本地计算机根据私钥对上述机器码文件进行解密处理,得到目标机器码,该目标机器码是远端服务器事先经过加盐加密处理得到的机器码文件中的机器码。
105、判断目标机器码与待部署单元的机器码是否相同。
具体的,本地计算机进一步判断目标机器码与待部署单元的机器码是否相同。
106、若目标机器码与待部署单元的机器码相同,则加载软件对应的服务,并判定待部署单元的软件许可本地部署成功。
具体的,本地计算机判断出目标机器码与待部署单元的机器码相同,则加载软件对应的服务,并判定待部署单元的软件许可本地部署成功。加载的软件对应服务为根据用户选择或购买的全部或部分软件功能模块,在许可文件中软件许可证书对应许可的软件服务范围。
进一步地,在步骤105之后,包括:
若目标机器码与待部署单元的机器码不相同,则停止加载软件对应的服务,并判定待部署单元的软件许可本地部署失败。
具体的,本地计算机判断出目标机器码与待部署单元的机器码不相同,则停止加载软 件对应的服务,并判定待部署单元的软件许可本地部署失败。当本地判断出目标机器码与待部署单元的机器码不相同,则停止加载软件对应的服务,并判定待部署单元的软件许可本地部署失败。
由上述可见,本申请方法实施例通过对比解密得到的目标机器码与本地端待部署单元的机器码是否相同,并在对比判断出不相同时停止加载软件对应的服务,来实现软件许可本地部署过程中的校验,简单有效,节省了搭建私有授权服务器的机器成本和人力维护成本。
进一步地,请参阅图2,本申请实施例中软件许可本地部署方法的另一个实施例中,还包括:
201、读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码。
202、对许可文件进行解析,获取对应的软件密钥和机器码文件。
203、对软件密钥进行解码,获取对应的私钥。
204、根据私钥对机器码文件进行解密处理,得到目标机器码。
205、判断目标机器码与待部署单元的机器码是否相同。
206、若目标机器码与待部署单元的机器码相同,则加载软件对应的服务,并判定待部署单元的软件许可本地部署成功。
本实施例步骤201~206的具体实施方式和细节如上述步骤101~106一致,在此不作赘述。
207、获取对应的软件许可使用时长。
具体的,在本地端加载完软件对应的服务后,本地计算机获取对应的软件许可使用时长。
208、根据软件许可使用时长计算待部署单元许可使用软件的剩余时长。
具体的,本地计算机还根据软件许可使用时长计算待部署单元许可使用软件的剩余时长,譬如授权的软件许可使用时长为365天,使用软件已有100天,则许可使用软件的剩余时长为165天。
209、判断许可使用软件的剩余时长是否为零。
具体的,本地计算机判断许可使用软件的剩余时长是否为零,譬如授权的软件许可使用时长为365天,使用软件已有365天,则许可使用软件的剩余时长为0天,则许可使用软件的剩余时长为零。
210、若许可使用软件的剩余时长为零,则判定待部署单元的软件许可证书过期。
具体的,当许可使用软件的剩余时长为零,则本地计算机判定待部署单元的软件许可证书过期。
211、根据预设的异步消息机制发出证书过期的告知信息;
具体的,在判定待部署单元的软件许可证书过期之后,根据预设的异步消息机制发出 相应告知信息,此处,预设的异步消息机制可以根据具体信息告知需求通过异步消息创建消息便可以完成,在此不作限定。
212、使用kill命令杀掉软件当前进程,退出软件。
具体的,在发出告知信息提示用户之后,本地计算机使用kill命令杀掉软件当前进程、退出软件,从而实现软件退出无法使用,可以进一步地将步骤设置为软件许可证书过期的默认处理方式。
进一步地,在步骤209之后,还包括:
若许可使用软件的剩余时长不为零,则继续判断许可使用软件的剩余时长是否在设定的时间段阈值内。
若许可使用软件的剩余时长在设定的时间段阈值内,则预设的异步消息机制发出许可使用软件的剩余时长及证书即将过期的告知信息。
具体的,若本地计算机判定出待部署单元许可使用软件的剩余时长不为零,则继续判断许可使用软件的剩余时长是否在设定的时间段阈值内,若判定为是则触发发出证书即将过期的告知信息,若不在设定的时间段阈值内,则该软件可继续正常使用。譬如,设定的时间段阈值为0~40天,而计算得出的许可使用软件的剩余时长为30天,许可使用软件的剩余时长在这个时间段内,则将许可使用软件的剩余时长与证书即将过期的告知信息发出,以提示软件当前使用用户。此处,预设的异步消息机制可以根据具体信息告知需求通过异步消息创建消息便可以完成,在此不作限定。通过对软件许可证书使用时间的校验实现了对本地端软件许可使用的另一种校验方式。
由上述可见,本实施例通过对软件许可证书同时使用了机器码和时间的校验,从而实现了对本地端软件许可使用双重校验,并且本申请通过机器码和时间的双重校验处理方式,不需要本地部署服务器、也不需要专人进行维护,降低了软件系统本地部署的成本,也提高了软件许可本地校验机制的安全性。
上面对本申请实施例中软件许可本地部署方法进行了描述,下面对本申请实施例中软件许可本地部署装置进行描述,请参阅图3,本申请实施例中软件许可本地部署装置的一个实施例包括:
机器码读取模块301,用于读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码。
解析模块302,用于对许可文件进行解析,获取对应的软件密钥和机器码文件。
解码模块303,用于对软件密钥进行解码,获取对应的私钥。
目标机器码获取模块304,用于根据私钥对机器码文件进行解密处理,得到目标机器码。
判断模块305,用于判断目标机器码与待部署单元的机器码是否相同。
加载模块306,用于若目标机器码与待部署单元的机器码相同,则加载软件对应的服 务,并判定待部署单元的软件许可本地部署成功。
可选的,在本申请第二方面的另一种实现方式中,软件许可本地部署装置还包括:
停止加载模块,用于若目标机器码与待部署单元的机器码不相同,则停止加载软件对应的服务,并判定待部署单元的软件许可本地部署失败。
可选的,在本申请软件许可本地部署装置的另一种实现方式中,如图4所示,软件许可本地部署装置包括:
机器码读取模块301,用于读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码。
解析模块302,用于对许可文件进行解析,获取对应的软件密钥和机器码文件。
解码模块303,用于对软件密钥进行解码,获取对应的私钥。
目标机器码获取模块304,用于根据私钥对机器码文件进行解密处理,得到目标机器码。
判断模块305,用于判断目标机器码与待部署单元的机器码是否相同。
加载模块306,用于若目标机器码与待部署单元的机器码相同,则加载软件对应的服务,并判定待部署单元的软件许可本地部署成功。
软件许可使用时长获取模块307,用于获取对应的软件许可使用时长。
剩余时长计算模块308,用于根据软件许可使用时长计算待部署单元许可使用软件的剩余时长。
剩余时长判断模块309,用于判断许可使用软件的剩余时长是否为零。
证书过期判定模块310,用于若许可使用软件的剩余时长为零,则判定待部署单元的软件许可证书过期。
过期告知模块311,用于根据预设的异步消息机制发出证书过期的告知信息。
进程杀掉模块312,用于使用kill命令杀掉软件当前进程,退出软件。
可选的,在本申请软件许可本地部署装置的另一种实现方式中,软件许可本地部署装置,还包括:
剩余时长继续判断模块,用于若许可使用软件的剩余时长不为零,则继续判断许可使用软件的剩余时长是否在设定的时间段阈值内。
即将过期告知模块,用于若许可使用软件的剩余时长在设定的时间段阈值内,则预设的异步消息机制发出许可使用软件的剩余时长及证书即将过期的告知信息。
可选的,在本申请软件许可本地部署装置的另一种实现方式中,软件许可本地部署装置,还包括:
许可文件配置模块,用于在软件安装文件中配置许可文件,许可文件包括软件许可使用时长、接口屏蔽名单、软件许可证书和软件密钥生成路径。
可选的,在本申请软件许可本地部署装置的另一种实现方式中,软件许可本地部署装 置,还包括:
许可校验文件配置模块,用于在安装文件中配置许可校验文件,许可校验文件包括软件许可证书存放路径、软件密钥存放路径、定时任务扫描间隔时间。
可选的,在本申请软件许可本地部署装置的另一种实现方式中,软件许可本地部署装置,还包括:
机器码获取模块,用于通过机器码采集工具获取待安装单元的机器码。
加盐加密处理模块,用于对机器码进行加盐加密处理,生成对应的机器码文件。
软件密钥与序列号生成模块,用于根据机器码文件生成对应的软件密钥和软件序列号,软件密钥包括公钥和私钥。
绑定模块,用于将软件密钥和软件序列号绑定到软件许可证书中。
上面图3和图4从模块化功能实体的角度对本申请实施例中的软件许可本地部署装置进行详细描述,下面从硬件处理的角度对本申请实施例中软件许可本地部署设备进行详细描述。
图5是本申请实施例提供的一种软件许可本地部署设备的结构示意图,该软件许可本地部署设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)501(例如,一个或一个以上处理器)和存储器509,一个或一个以上存储应用程序507或数据506的存储介质508(例如一个或一个以上海量存储设备)。其中,存储器509和存储介质508可以是短暂存储或持久存储。存储在存储介质508的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对软件许可本地部署中的一系列指令操作。更进一步地,处理器501可以设置为与存储介质508通信,在软件许可本地部署设备500上执行存储介质508中的一系列指令操作。
软件许可本地部署设备500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统505,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5中示出的软件许可本地部署设备结构并不构成对软件许可本地部署设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (20)

  1. 一种软件许可本地部署方法,软件许可本地部署方法包括:
    读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码;
    对所述许可文件进行解析,获取对应的软件密钥和机器码文件;
    对所述软件密钥进行解码,获取对应的私钥;
    根据所述私钥对所述机器码文件进行解密处理,得到目标机器码;
    判断所述目标机器码与所述待部署单元的机器码是否相同;
    若所述目标机器码与所述待部署单元的机器码相同,则加载软件对应的服务,并判定所述待部署单元的软件许可本地部署成功。
  2. 根据权利要求1所述的软件许可本地部署方法,其中,所述软件许可本地部署方法还包括:
    若所述目标机器码与所述待部署单元的机器码不相同,则停止加载软件对应的服务,并判定所述待部署单元的软件许可本地部署失败。
  3. 根据权利要求1所述的软件许可本地部署方法,其中,在所述若所述目标机器码与所述待部署单元的机器码相同,则加载软件对应的服务,并判定所述待部署单元的软件许可本地部署成功之后,所述软件许可本地部署方法还包括:
    获取对应的软件许可使用时长;
    根据所述软件许可使用时长计算所述待部署单元许可使用软件的剩余时长;
    判断所述许可使用软件的剩余时长是否为零;
    若所述许可使用软件的剩余时长为零,则判定所述待部署单元的软件许可证书过期;
    根据预设的异步消息机制发出证书过期的告知信息;
    使用kill命令杀掉软件当前进程,退出软件。
  4. 根据权利要求3所述的软件许可本地部署方法,其中,在所述判断所述许可使用软件的剩余时长是否为零之后,所述软件许可本地部署方法还包括:
    若所述许可使用软件的剩余时长不为零,则继续判断所述许可使用软件的剩余时长是否在设定的时间段阈值内;
    若所述许可使用软件的剩余时长在设定的时间段阈值内,则预设的异步消息机制发出所述许可使用软件的剩余时长及证书即将过期的告知信息。
  5. 根据权利要求1所述的软件许可本地部署方法,其中,在读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码之前,所述软件许可本地部署方法还包括:
    在所述软件安装文件中配置许可文件,所述许可文件包括软件许可使用时长、接口屏蔽名单、软件许可证书和软件密钥生成路径。
  6. 根据权利要求1所述的软件许可本地部署方法,其中,在读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码之前,所述软件许可本地部署方法还包括:
    在所述安装文件中配置许可校验文件,所述许可校验文件包括软件许可证书存放路径、软件密钥存放路径、定时任务扫描间隔时间。
  7. 根据权利要求1至6任一项所述的软件许可本地部署方法,其中,在读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码之前,所述软件许可本地部署方法还包括:
    通过机器码采集工具获取待安装单元的机器码;
    对所述机器码进行加盐加密处理,生成对应的机器码文件;
    根据所述机器码文件生成对应的软件密钥和软件序列号,所述软件密钥包括公钥和私钥;
    将所述软件密钥和软件序列号绑定到软件许可证书中。
  8. 一种软件许可本地部署设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
    读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码;
    对所述许可文件进行解析,获取对应的软件密钥和机器码文件;
    对所述软件密钥进行解码,获取对应的私钥;
    根据所述私钥对所述机器码文件进行解密处理,得到目标机器码;
    判断所述目标机器码与所述待部署单元的机器码是否相同;
    若所述目标机器码与所述待部署单元的机器码相同,则加载软件对应的服务,并判定所述待部署单元的软件许可本地部署成功。
  9. 根据权利要求8所述的软件许可本地部署设备,其中,所述处理器执行所述计算机可读指令还可以实现以下步骤:
    若所述目标机器码与所述待部署单元的机器码不相同,则停止加载软件对应的服务,并判定所述待部署单元的软件许可本地部署失败。
  10. 根据权利要求8所述的软件许可本地部署设备,其中,所述处理器执行所述计算机可读指令实现在所述若所述目标机器码与所述待部署单元的机器码相同,则加载软件对 应的服务,并判定所述待部署单元的软件许可本地部署成功之后时,所述软件许可本地部署设备还包括以下步骤:
    获取对应的软件许可使用时长;
    根据所述软件许可使用时长计算所述待部署单元许可使用软件的剩余时长;
    判断所述许可使用软件的剩余时长是否为零;
    若所述许可使用软件的剩余时长为零,则判定所述待部署单元的软件许可证书过期;
    根据预设的异步消息机制发出证书过期的告知信息;
    使用kill命令杀掉软件当前进程,退出软件。
  11. 根据权利要求10所述的软件许可本地部署设备,其中,所述处理器执行所述计算机可读指令实现在所述判断所述许可使用软件的剩余时长是否为零之后时,所述软件许可本地部署设备还包括以下步骤:
    若所述许可使用软件的剩余时长不为零,则继续判断所述许可使用软件的剩余时长是否在设定的时间段阈值内;
    若所述许可使用软件的剩余时长在设定的时间段阈值内,则预设的异步消息机制发出所述许可使用软件的剩余时长及证书即将过期的告知信息。
  12. 根据权利要求8所述的软件许可本地部署设备,其中,所述处理器执行所述计算机可读指令实现在读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码之前时,所述软件许可本地部署设备还包括以下步骤:
    在所述软件安装文件中配置许可文件,所述许可文件包括软件许可使用时长、接口屏蔽名单、软件许可证书和软件密钥生成路径。
  13. 根据权利要求8所述的软件许可本地部署设备,其中,所述处理器执行所述计算机可读指令实现在读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码之前时,所述软件许可本地部署设备还包括以下步骤:
    在所述安装文件中配置许可校验文件,所述许可校验文件包括软件许可证书存放路径、软件密钥存放路径、定时任务扫描间隔时间。
  14. 根据权利要求8-13中任一项所述的软件许可本地部署设备,所述处理器执行所述计算机可读指令实现在读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码之前时,所述软件许可本地部署设备还包括以下步骤:
    通过机器码采集工具获取待安装单元的机器码;
    对所述机器码进行加盐加密处理,生成对应的机器码文件;
    根据所述机器码文件生成对应的软件密钥和软件序列号,所述软件密钥包括公钥和私钥;
    将所述软件密钥和软件序列号绑定到软件许可证书中。
  15. 一种计算机可读存储介质,所述计算机可读存储介质中存储计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如下步骤:
    读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码;
    对所述许可文件进行解析,获取对应的软件密钥和机器码文件;
    对所述软件密钥进行解码,获取对应的私钥;
    根据所述私钥对所述机器码文件进行解密处理,得到目标机器码;
    判断所述目标机器码与所述待部署单元的机器码是否相同;
    若所述目标机器码与所述待部署单元的机器码相同,则加载软件对应的服务,并判定所述待部署单元的软件许可本地部署成功。
  16. 根据权利要求15所述的计算机可读存储介质,当所述计算机指令在计算机上运行时,使得计算机还执行以下步骤:
    若所述目标机器码与所述待部署单元的机器码不相同,则停止加载软件对应的服务,并判定所述待部署单元的软件许可本地部署失败。
  17. 根据权利要求15所述的计算机可读存储介质,当所述计算机指令在计算机上运行时,使得计算机还执行以下步骤:
    获取对应的软件许可使用时长;
    根据所述软件许可使用时长计算所述待部署单元许可使用软件的剩余时长;
    判断所述许可使用软件的剩余时长是否为零;
    若所述许可使用软件的剩余时长为零,则判定所述待部署单元的软件许可证书过期;
    根据预设的异步消息机制发出证书过期的告知信息;
    使用kill命令杀掉软件当前进程,退出软件。
  18. 根据权利要求17所述的计算机可读存储介质,当所述计算机指令在计算机上运行时,使得计算机还执行以下步骤:
    若所述许可使用软件的剩余时长不为零,则继续判断所述许可使用软件的剩余时长是否在设定的时间段阈值内;
    若所述许可使用软件的剩余时长在设定的时间段阈值内,则预设的异步消息机制发出 所述许可使用软件的剩余时长及证书即将过期的告知信息。
  19. 根据权利要求15所述的计算机可读存储介质,当所述计算机指令在计算机上运行时,使得计算机还执行以下步骤:
    在所述软件安装文件中配置许可文件,所述许可文件包括软件许可使用时长、接口屏蔽名单、软件许可证书和软件密钥生成路径。
  20. 一种软件许可本地部署装置,其中,所述软件许可本地部署装置包括:
    机器码读取模块,用于读取软件安装文件中许可文件、许可校验文件以及待部署单元的机器码;
    解析模块,用于对所述许可文件进行解析,获取对应的软件密钥和机器码文件;
    解码模块,用于对所述软件密钥进行解码,获取对应的私钥;
    目标机器码获取模块,用于根据所述私钥对所述机器码文件进行解密处理,得到目标机器码;
    判断模块,用于判断所述目标机器码与所述待部署单元的机器码是否相同;
    加载模块,用于若所述目标机器码与所述待部署单元的机器码相同,则加载软件对应的服务,并判定所述待部署单元的软件许可本地部署成功。
PCT/CN2021/072806 2020-02-13 2021-01-20 软件许可本地部署方法、装置、设备及存储介质 WO2021159931A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010090295.1A CN111367532A (zh) 2020-02-13 2020-02-13 软件许可本地部署方法、装置、设备及存储介质
CN202010090295.1 2020-02-13

Publications (1)

Publication Number Publication Date
WO2021159931A1 true WO2021159931A1 (zh) 2021-08-19

Family

ID=71204489

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/072806 WO2021159931A1 (zh) 2020-02-13 2021-01-20 软件许可本地部署方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN111367532A (zh)
WO (1) WO2021159931A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367532A (zh) * 2020-02-13 2020-07-03 深圳壹账通智能科技有限公司 软件许可本地部署方法、装置、设备及存储介质
CN115280308A (zh) * 2020-12-24 2022-11-01 京东方科技集团股份有限公司 一种许可认证的方法、装置、电子设备、系统及存储介质
CN112804094B (zh) * 2020-12-30 2023-04-18 北京天融信网络安全技术有限公司 一种设备部署方法和装置
CN113672241B (zh) * 2021-08-23 2023-05-09 北京优锘科技有限公司 一种3d场景离线部署的方法、装置、设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073325A1 (en) * 2000-10-30 2002-06-13 Raymond Ho Authenticating software licenses
CN104700002A (zh) * 2013-12-05 2015-06-10 航天信息软件技术有限公司 一种软件保护、授权和注册的方法
CN107391971A (zh) * 2017-06-13 2017-11-24 北京航天发射技术研究所 一种软件许可授权的保护方法
CN108124480A (zh) * 2016-12-27 2018-06-05 深圳配天智能技术研究院有限公司 一种软件授权方法、系统及设备
CN109284586A (zh) * 2018-08-27 2019-01-29 武汉达梦数据库有限公司 一种软件授权许可实现方法和装置
CN111367532A (zh) * 2020-02-13 2020-07-03 深圳壹账通智能科技有限公司 软件许可本地部署方法、装置、设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020073325A1 (en) * 2000-10-30 2002-06-13 Raymond Ho Authenticating software licenses
CN104700002A (zh) * 2013-12-05 2015-06-10 航天信息软件技术有限公司 一种软件保护、授权和注册的方法
CN108124480A (zh) * 2016-12-27 2018-06-05 深圳配天智能技术研究院有限公司 一种软件授权方法、系统及设备
CN107391971A (zh) * 2017-06-13 2017-11-24 北京航天发射技术研究所 一种软件许可授权的保护方法
CN109284586A (zh) * 2018-08-27 2019-01-29 武汉达梦数据库有限公司 一种软件授权许可实现方法和装置
CN111367532A (zh) * 2020-02-13 2020-07-03 深圳壹账通智能科技有限公司 软件许可本地部署方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN111367532A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
WO2021159931A1 (zh) 软件许可本地部署方法、装置、设备及存储介质
CN112699342B (zh) 授权控制方法、授权方法、装置及计算设备
US10671734B1 (en) Virtual machine manager for protecting against unauthorized access by computing devices
CN110162936B (zh) 一种软件内容的使用授权方法
US20070157318A1 (en) Method and apparatus for managing digital rights of secure removable media
US8955141B2 (en) Method of digital rights management about a compressed file
CN107659632A (zh) 一种文件加解密方法、装置及计算机可读存储介质
WO2021219086A1 (zh) 基于区块链的数据传输方法和系统
CN100495421C (zh) 一种基于usb设备的认证保护方法
JP2001067135A (ja) 電気通信システムにおける機能作動の違法使用の防止
US6986041B2 (en) System and method for remote code integrity in distributed systems
JP2016515235A (ja) 関連データを有するポリシー施行
US20130262876A1 (en) Method, Apparatus, and System for Performing Authentication on Bound Data Card and Mobile Host
US9129098B2 (en) Methods of protecting software programs from unauthorized use
KR20020029657A (ko) 디지털 컨텐츠의 정보보호 방법 및 시스템
US10341315B2 (en) Management of access sessions
US20220147634A1 (en) Client authentication and data management system
JP2007094879A (ja) オペレーティングシステム用基本プログラムの認証システム、これに用いるコンピュータ、およびコンピュータプログラム
US7694154B2 (en) Method and apparatus for securely executing a background process
US20080313743A1 (en) Network Software License Management and Piracy Protection
CN114925336A (zh) 一种激活软件的方法及系统
CN114301685B (zh) 一种系统授权验证方法及系统
CN111787369B (zh) 一种智能电视root权限控制方法、系统及存储介质
KR101003242B1 (ko) 유에스비 메모리 장치에 저장된 소프트웨어 불법복제방지 시스템 및 유에스비 메모리 장치에 저장된 소프트웨어를 실행하는 방법
CN117978445A (zh) 一种基于网关进行鉴权控制处理的方法和系统

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21753666

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 091222)

122 Ep: pct application non-entry in european phase

Ref document number: 21753666

Country of ref document: EP

Kind code of ref document: A1