CN117390599B - 一种离线多设备产品许可发放与验证方法、系统及设备 - Google Patents

一种离线多设备产品许可发放与验证方法、系统及设备 Download PDF

Info

Publication number
CN117390599B
CN117390599B CN202311643347.3A CN202311643347A CN117390599B CN 117390599 B CN117390599 B CN 117390599B CN 202311643347 A CN202311643347 A CN 202311643347A CN 117390599 B CN117390599 B CN 117390599B
Authority
CN
China
Prior art keywords
license
json
license file
string
activation code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202311643347.3A
Other languages
English (en)
Other versions
CN117390599A (zh
Inventor
刘山
刘勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Zoan Hi Tech Electronics Co ltd
Original Assignee
Shenzhen Zoan Hi Tech Electronics Co ltd
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 Shenzhen Zoan Hi Tech Electronics Co ltd filed Critical Shenzhen Zoan Hi Tech Electronics Co ltd
Priority to CN202311643347.3A priority Critical patent/CN117390599B/zh
Publication of CN117390599A publication Critical patent/CN117390599A/zh
Application granted granted Critical
Publication of CN117390599B publication Critical patent/CN117390599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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/45Structures or tools for the administration of authentication

Abstract

本发明提供一种离线多设备产品许可发放与验证方法、系统及设备,该方法通过获取所有待授权设备的设备标识信息以及授权有效期;根据设备标识信息生成许可文件;根据许可文件和授权有效期生成激活码;将许可文件和所述激活码发送至待授权设备进行解码并验证,完成产品许可发放。本发明支持对离线多设备产品中所有设备的授权管理,产品售后任何设备的更换都要得到授权厂商的许可,保证了客户与厂商的权益。同时,针对离线多设备产品试用及租赁情况,需要频繁的变更授权有效期,本发明中仅需即时输入新的激活码,非常快捷高效;且许可文件与激活码都采用了高强度加密技术进行了信息保护,破解成本极高,有效的防止了伪造与篡改许可内容。

Description

一种离线多设备产品许可发放与验证方法、系统及设备
技术领域
本发明涉及离线设备授权验证技术领域,具体为一种离线多设备产品许可发放与验证方法、系统及设备。
背景技术
为了防止盗版侵权行为,许可发放与验证成为了商业产品的基础要求。根据产品的使用场景许可发放与验证分为在线与离线两种方式,在线方式要求产品可以接入互联网,通过互联网来获取许可并完成验证。在产品不具备接入互联网的情况下,许可发放与验证需要采用离线方式,离线方式主要通过纸质文件、U盘等离线存储介质等方式来完成。注册码或许可文件是目前主要的离线产品许可发放形式。注册码表现为一个简短的字串,方便用户录入,但由于存储信息量十分有限,主要用于单设备系统授权。许可文件用文件形式存储信息,由于几乎不受存储信息量的限制,常用于对多设备系统进行授权,但许可文件发放便捷性较差。因此,离线多设备产品需要一种新的许可发放方式,既能完成多个设备的授权,又能如注册码般便捷的发放许可。
发明内容
鉴于以上所述现有技术的缺点,本发明提供一种离线多设备产品许可发放与验证方法、系统及设备,以解决上述技术问题。
本发明提供的一种离线多设备产品许可发放与验证方法,包括:
S1:获取所有待授权设备的设备标识信息以及授权有效期;
S2:根据所述设备标识信息生成许可文件;
S3:根据所述许可文件和授权有效期生成激活码;
S4:将所述许可文件和所述激活码发送至所述待授权设备进行解码并验证,完成产品许可发放。
于本发明中,设备标识信息包括设备标识号、客户信息、产品信息。
于本发明中,步骤S2包括:
S21:将所述设备标识号、所述客户信息、所述产品信息拼接成JSON字符串json_str;
S22:生成JSON字串的MD5值md5_json;
S23:将md5_json与随机生成的24字节3DES密钥拼接,进行RSA私钥加密生成签名串sign_str;
S24:将sign_str接入json_str,进行base64编码存储生成许可文件。
于本发明中,步骤S3包括:
S31:将所述许可文件的编号和所述授权有效期拼接生成一个8字节的字节流;
S32:根据所述许可文件中的3DES密钥对所述字节流进行加密生成一个16个字符的十六进制字串,将所述十六进制字串设置为激活码。
于本发明中,步骤S4包括:
S41:用base64解码所述许可文件,得到JSON字串和签名串;
S42:对所述签名串根据RSA公钥解密获取md5_json和3DES密钥,计算得到许可内容JSON字串的MD5值,并和md5_json进行对比,当值相等时,许可文件解码成功;当值不相等时,许可文件不合法;
S43:对许可文件的JSON字串进行解析,得到许可文件的编号和设备标识信息;
S44:根据S42中获取的3DES密钥解码激活码,其中,所述激活码前三个字节为对应的许可编号,后5个字节为时间戳;
S45:根据S44中的许可编号和S63中的许可文件的编号进行比较,当编号不一致时,校验激活码失败;当编号一致时,进入S46;
S46:将S44中解码的后5个字节时间戳设置为许可有效期。
于本发明中,比较许可有效期时间与当前时间,当所述许可有效期时间早于当前时间时,许可发放终止。
于本发明中,在步骤S43后,还包括:获取所述待授权设备的设备标识号,将待授权设备的设备标识号与许可文件的设备标识信息中的设备标识号进行匹配,当匹配结果返回空时,许可发放终止;当匹配结果不返回空时,进入步骤S44。
本发明还提供一种离线多设备产品许可发放与验证系统,所述系统包括:
获取信息模块:获取所有待授权设备的设备标识信息以及授权有效期;
许可文件生成模块:根据所述设备标识信息生成许可文件;
激活码生成模块:根据所述许可文件和授权有效期生成激活码;
解码验证模块:将所述许可文件和所述激活码发送至所述待授权设备进行解码并验证,完成产品许可发放。
本发明还提供一种电子设备,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述任一项所述的一种离线多设备产品许可发放与验证方法。
本发明提供一种离线多设备产品许可发放与验证方法、系统及设备,所述方法通过获取所有待授权设备的设备标识信息以及授权有效期;根据所述设备标识信息生成许可文件;根据所述许可文件和授权有效期生成激活码;将所述许可文件和所述激活码发送至所述待授权设备进行解码并验证,完成产品许可发放,产生的有益效果包括:
支持对离线多设备产品中所有设备的授权管理,产品售后任何设备的更换都要得到授权厂商的许可,这样保证了客户与厂商的权益。
针对离线多设备产品试用及租赁情况,需要频繁的变更授权有效期,本发明中仅需即时输入新的激活码,非常快捷高效。
本发明中许可文件与激活码都采用了高强度加密技术进行了信息保护,破解成本极高,有效的防止了伪造与篡改许可内容。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明的一示例性实施例示出的激活码的许可发放的流程框图;
图2为本发明的一示例性实施例示出的许可文件的许可发放的流程框图;
图3为本发明的一示例性实施例示出的一种离线多设备产品许可发放与验证发放的流程图;
图4为本发明的一示例性实施例示出的一种离线多设备产品许可发放与验证系统结构示意图。
实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
首先需要说明的是,在现有的离线多设备产品许可发放与验证方法中,注册码或许可文件是目前主要的离线产品许可发放形式。注册码表现为一个简短的字串,方便用户录入,但由于存储信息量十分有限,主要用于单设备系统授权。许可文件用文件形式存储信息,由于几乎不受存储信息量的限制,常用于对多设备系统进行授权,但许可文件发放便捷性较差。离线多设备产品需要一种新的许可发放方式,既能完成多个设备的授权,又能如注册码般便捷的发放许可。
许可设计的目的主要是支持授权的设备在授权的时间内正常运行。许可必须保证发放组织的唯一性及发放后不可修改。即许可内容不可伪造、不可修改。同时又要兼 顾许可发放的便捷性。下面对现有两种许可技术进行分别介绍:
如图1所示,注册码方式:注册机将许可设备标识及许可有效期内容进行加密后生成十六进制字串,这个字串就是注册码。软件读取注册码后进行解密,用解密后的内容来校验设备与有效期。
如图2所示,许可文件方式:许可内容中包括许可设备标识、许可有效期及其它授权信息,对许可内容生成签名串,将许可内容和签名串一起存储到许可文件中。软件读取许可文件,先验证签名正确,说明许可文件来源正确、没有被修改,然后用许可内容来校验设备与有效期。
对于离线多设备产品,既要支持对多个设备授权,又要保证许可发放的即时性。通过将许可文件和注册码两种技术相结合,较好的解决了多设备授权及即时性问题。产品许可内容主要包括授权对象(设备及软件)和授权对象有效期,在实际的应用中产品售出后授权对象的更改频次非常低,而授权对象有效期则属于高频更改项。本发明对于低频的授权对象信息通过许可文件发放。而高频的授权对象有效期则以注册码的形式发放。注册码依赖于许可文件。这样既能实现对产品中的多个设备进行授权管理,也方便用户便捷更新许可有效期。
图3为本发明的一示例性实施例示出的一种离线多设备产品许可发放与验证方法的流程图;
如图3所示,本发明提供的一种离线多设备产品许可发放与验证方法,包括:
步骤S1:获取所有待授权设备的设备标识信息以及授权有效期;
步骤S2:根据所述设备标识信息生成许可文件;
步骤S3:根据所述许可文件和授权有效期生成激活码;
步骤S4:将所述许可文件和所述激活码发送至所述待授权设备进行解码并验证,完成产品许可发放。
具体的,在步骤S1中,需要收集所有待授权设备的设备标识信息,其中,设备标识信息包括设备标识号、客户信息、产品信息。同时,还需要获取授权的有效期,即产品许可在多长时间内有效。这一步骤的目的是为了在后续步骤中生成合适的许可文件和激活码。
在步骤S2中,将使用收集到的待授权设备的设备标识信息来生成许可文件。许可文件包含有关授权信息的数据,如设备标识信息、授权有效期等。这个文件将在后续步骤用于生成激活码和进行设备的授权验证。生成许可文件的过程包括将设备标识信息和其他相关信息编码为特定格式的文件。更进一步地,包括:
S21:将所述设备标识号、所述客户信息、所述产品信息拼接成JSON字符串json_str;在步骤S21中,将设备标识号、客户信息和产品信息拼接成 JSON字符串。JSON字符串可以方便地表示结构化的数据,适合在计算机系统中进行处理和传输。
S22:生成JSON字串的MD5值md5_json;具体的,MD5(Message Digest Algorithm5)是一种常用的哈希函数,用于产生一个128位(16字节)的哈希值。MD5哈希运算可以确保数据的唯一性和一致性。即使输入数据发生微小的变化,其MD5哈希值也会显著不同。步骤S22的目的是在后续的操作中对 JSON 字符串进行唯一性标识,同时也用于确保许可文件的完整性。
S23:将md5_json与随机生成的24字节3DES密钥拼接,进行RSA私钥加密生成签名串sign_str;具体的,md5_json是上一步中生成的JSON字符串的MD5哈希值。其次,随机生成一个长度为24字节的3DES密钥。3DES(Triple Data Encryption Standard)是一种对称加密算法,使用三个不同的密钥对数据进行加密,通常以字节块(block)为单位。然后,将md5_json与生成的24字节3DES密钥拼接在一起。最后,使用RSA私钥对这个拼接后的数据进行加密,生成一个签名串sign_str。
S24:将sign_str接入json_str,进行base64编码存储生成许可文件。具体的,将sign_str(RSA私钥加密后的数据)与原始的JSON字符串json_str进行拼接,然后对拼接后的数据进行Base64编码。这样得到的结果就是许可文件,其中包含了原始数据和签名信息。
在步骤S3中,根据许可文件和授权有效期生成激活码,具体包括:
S31:将所述许可文件的编号和所述授权有效期拼接生成一个8字节的字节流;在步骤S31中,将许可文件的编号和授权有效期拼接生成一个8字节的字节流,是为了后续的激活码生成和验证提供所需的信息
S32:根据所述许可文件中的3DES密钥对所述字节流进行加密生成一个16个字符的十六进制字串,将所述十六进制字串设置为激活码。在步骤S32中,使用许可文件中的3DES密钥对先前拼接生成的8字节字节流进行加密,生成一个16个字符的十六进制字串,将这个十六进制字串被设置为激活码。
在步骤S4中,许可文件和激活码被发送至待授权设备,然后在设备上进行解码和验证,从而完成产品许可的发放。确保了设备在获得授权之前能够正确验证许可文件和激活码的有效性,具体包括:
S41:用base64解码所述许可文件,得到JSON字串和签名串;具体的,许可文件通过base64解码,得到JSON字符串和签名串。这个过程是为了还原许可文件的原始数据以便后续的处理。
S42:对所述签名串根据RSA公钥解密获取md5_json和3DES密钥,计算得到许可内容JSON字串的MD5值,并和md5_json进行对比,当值相等时,许可文件解码成功;当值不相等时,许可文件不合法;具体的,签名串通过RSA公钥解密,获取md5_json和3DES密钥。然后计算许可内容JSON字符串的MD5值,并与md5_json进行比较。如果两者相等,说明许可文件解码成功;如果不相等,说明许可文件不合法。这是为了确保许可文件的完整性和合法性。
S43:对许可文件的JSON字串进行解析,得到许可文件的编号和设备标识信息;具体的,许可文件的JSON字符串被解析,以获取许可文件的编号和设备标识信息。步骤S43是为了进一步验证和获取许可文件中包含的信息,以确保许可的有效性和合法性。
S44:根据S42中获取的3DES密钥解码激活码,其中,所述激活码前三个字节为对应的许可编号,后5个字节为时间戳;具体的,通过之前获取的3DES密钥对激活码进行解码。激活码的结构包括前三个字节对应许可编号,后5个字节为时间戳。这些信息将用于进一步验证和处理激活码的有效性和授权信息。
S45:根据S44中的许可编号和S63中的许可文件的编号进行比较,当编号不一致时,校验激活码失败;当编号一致时,进入S46;
S46:将S44中解码的后5个字节时间戳设置为许可有效期。具体的,在步骤S45和S46,通过比较许可文件中的编号和解码的激活码中的编号,确保它们一致。如果编号不一致,说明激活码校验失败。如果编号一致,将激活码中解码得到的时间戳设置为许可的有效期。
更进一步地,在步骤S46后,比较许可有效期时间与当前时间,当所述许可有效期时间早于当前时间时,许可发放终止。具体的,进一步确保了许可的有效性。通过比较许可的有效期与当前时间,如果许可的有效期时间早于当前时间,说明许可已经过期,因此许可发放终止。这一步骤的目的是为避免使用过期的许可,保证系统的安全性和稳定性。
在步骤S43后,还包括:获取所述待授权设备的设备标识号,将待授权设备的设备标识号与许可文件的设备标识信息中的设备标识号进行匹配,当匹配结果返回空时,许可发放终止;当匹配结果不返回空时,进入步骤S44。具体的,在获取待授权设备的设备标识号后,将其与许可文件中的设备标识信息进行匹配。如果匹配结果为空,说明待授权设备的标识与许可文件中的标识不符,许可发放终止。这一步骤的目的在于确保许可只分发给合法的设备。
图4为本发明的一示例性实施例示出的一种离线多设备产品许可发放与验证系统结构示意图;
如图4所示,该示例性的一种离线多设备产品许可发放与验证系统包括:
获取信息模块401:获取所有待授权设备的设备标识信息以及授权有效期;
许可文件生成模块402:根据所述设备标识信息生成许可文件;
激活码生成模块403:根据所述许可文件和授权有效期生成激活码;
解码验证模块404:将所述许可文件和所述激活码发送至所述待授权设备进行解码并验证,完成产品许可发放。
需要说明的是,上述实施例所提供的一种离线多设备产品许可发放与验证系统与上述实施例所提供的一种离线多设备产品许可发放与验证方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的一种离线多设备产品许可发放与验证系统在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的一种离线多设备产品许可发放与验证方法。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (5)

1.一种离线多设备产品许可发放与验证方法,其特征在于,包括:
S1:获取所有待授权设备的设备标识信息以及授权有效期;
S2:根据所述设备标识信息生成许可文件,其中,设备标识信息包括设备标识号、客户信息、产品信息,步骤S2包括:
S21:将所述设备标识号、所述客户信息、所述产品信息拼接成JSON字符串json_str;
S22:生成JSON字串的MD5值md5_json;
S23:将md5_json与随机生成的24字节3DES密钥拼接,进行RSA私钥加密生成签名串sign_str;
S24:将sign_str接入json_str,进行base64编码存储生成许可文件;
S3:根据所述许可文件和授权有效期生成激活码,其中,步骤S3包括:
S31:将所述许可文件的编号和所述授权有效期拼接生成一个8字节的字节流;
S32:根据所述许可文件中的3DES密钥对所述字节流进行加密生成一个16个字符的十六进制字串,将所述十六进制字串设置为激活码;
S4:将所述许可文件和所述激活码发送至所述待授权设备进行解码并验证,完成产品许可发放,其中,步骤S4包括:
S41:用base64解码所述许可文件,得到JSON字串和签名串;
S42:对所述签名串根据RSA公钥解密获取md5_json和3DES密钥,计算得到许可内容JSON字串的MD5值,并和md5_json进行对比,当值相等时,许可文件解码成功;当值不相等时,许可文件不合法;
S43:对许可文件的JSON字串进行解析,得到许可文件的编号和设备标识信息;
S44:根据S42中获取的3DES密钥解码激活码,其中,所述激活码前三个字节为对应的许可编号,后5个字节为时间戳;
S45:根据S44中的许可编号和S43中的许可文件的编号进行比较,当编号不一致时,校验激活码失败;当编号一致时,进入S46;
S46:将S44中解码的后5个字节时间戳设置为许可有效期。
2.根据权利要求1所述的一种离线多设备产品许可发放与验证方法,其特征在于,比较许可有效期时间与当前时间,当所述许可有效期时间早于当前时间时,许可发放终止。
3.根据权利要求1所述的一种离线多设备产品许可发放与验证方法,其特征在于,在步骤S43后,还包括:获取所述待授权设备的设备标识号,将待授权设备的设备标识号与许可文件的设备标识信息中的设备标识号进行匹配,当匹配结果返回空时,许可发放终止;当匹配结果不返回空时,进入步骤S44。
4.一种离线多设备产品许可发放与验证系统,其特征在于,包括:
获取信息模块:获取所有待授权设备的设备标识信息以及授权有效期;
许可文件生成模块:根据所述设备标识信息生成许可文件,其中,设备标识信息包括设备标识号、客户信息、产品信息,包括:将所述设备标识号、所述客户信息、所述产品信息拼接成JSON字符串json_str;生成JSON字串的MD5值md5_json;将md5_json与随机生成的24字节3DES密钥拼接,进行RSA私钥加密生成签名串sign_str;将sign_str接入json_str,进行base64编码存储生成许可文件;
激活码生成模块:根据所述许可文件和授权有效期生成激活码,其中包括:将所述许可文件的编号和所述授权有效期拼接生成一个8字节的字节流;根据所述许可文件中的3DES密钥对所述字节流进行加密生成一个16个字符的十六进制字串,将所述十六进制字串设置为激活码;
解码验证模块:将所述许可文件和所述激活码发送至所述待授权设备进行解码并验证,完成产品许可发放,其中包括:用base64解码所述许可文件,得到JSON字串和签名串;对所述签名串根据RSA公钥解密获取md5_json和3DES密钥,计算得到许可内容JSON字串的MD5值,并和md5_json进行对比,当值相等时,许可文件解码成功;当值不相等时,许可文件不合法;对许可文件的JSON字串进行解析,得到许可文件的编号和设备标识信息;根据获取的3DES密钥解码激活码,其中,所述激活码前三个字节为对应的许可编号,后5个字节为时间戳;根据解码激活码得到的许可编号和解析许可文件得到的许可文件的编号进行比较,当编号不一致时,校验激活码失败;当编号一致时,将解码激活码的后5个字节时间戳设置为许可有效期。
5.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至3中任一项所述的一种离线多设备产品许可发放与验证方法。
CN202311643347.3A 2023-12-04 2023-12-04 一种离线多设备产品许可发放与验证方法、系统及设备 Active CN117390599B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311643347.3A CN117390599B (zh) 2023-12-04 2023-12-04 一种离线多设备产品许可发放与验证方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311643347.3A CN117390599B (zh) 2023-12-04 2023-12-04 一种离线多设备产品许可发放与验证方法、系统及设备

Publications (2)

Publication Number Publication Date
CN117390599A CN117390599A (zh) 2024-01-12
CN117390599B true CN117390599B (zh) 2024-03-26

Family

ID=89470490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311643347.3A Active CN117390599B (zh) 2023-12-04 2023-12-04 一种离线多设备产品许可发放与验证方法、系统及设备

Country Status (1)

Country Link
CN (1) CN117390599B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479305A (zh) * 2010-11-29 2012-05-30 金蝶软件(中国)有限公司 软件许可验证的方法及系统
US10015143B1 (en) * 2014-06-05 2018-07-03 F5 Networks, Inc. Methods for securing one or more license entitlement grants and devices thereof
WO2018217224A1 (en) * 2017-05-22 2018-11-29 Macpaw, Inc. System and method for software activation and license tracking
CN115374405A (zh) * 2022-08-22 2022-11-22 广州鼎甲计算机科技有限公司 软件授权方法、许可授权方法、装置、设备和存储介质
CN116244666A (zh) * 2022-12-28 2023-06-09 北京谊安医疗系统股份有限公司 一种软件离线授权的方法、系统、计算机设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110296175A1 (en) * 2010-05-25 2011-12-01 beonSoft Inc. Systems and methods for software license distribution using asymmetric key cryptography

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102479305A (zh) * 2010-11-29 2012-05-30 金蝶软件(中国)有限公司 软件许可验证的方法及系统
US10015143B1 (en) * 2014-06-05 2018-07-03 F5 Networks, Inc. Methods for securing one or more license entitlement grants and devices thereof
WO2018217224A1 (en) * 2017-05-22 2018-11-29 Macpaw, Inc. System and method for software activation and license tracking
CN115374405A (zh) * 2022-08-22 2022-11-22 广州鼎甲计算机科技有限公司 软件授权方法、许可授权方法、装置、设备和存储介质
CN116244666A (zh) * 2022-12-28 2023-06-09 北京谊安医疗系统股份有限公司 一种软件离线授权的方法、系统、计算机设备及存储介质

Also Published As

Publication number Publication date
CN117390599A (zh) 2024-01-12

Similar Documents

Publication Publication Date Title
EP1942430B1 (en) Token Passing Technique for Media Playback Devices
CA2683661C (en) Method and apparatus for delivering encoded content
CN106656488B (zh) 一种pos终端的密钥下载方法和装置
US8660964B2 (en) Secure device licensing
CN107508791B (zh) 一种基于分散密钥加密的终端身份验证方法及系统
US20140369496A1 (en) Key implementation system
KR20120104643A (ko) 권리 객체 백업 방법 및 장치
CN110401613B (zh) 一种认证管理方法和相关设备
JP2003051816A (ja) コンテンツ配信システム、コンテンツ配信方法、およびデータ処理装置、データ処理方法、並びにコンピュータ・プログラム
CN112800392A (zh) 基于软证书的授权方法和装置、存储介质
CN114267100A (zh) 开锁认证方法、装置、安全芯片及电子钥匙管理系统
CN110659457A (zh) 一种应用授权的验证方法、装置及客户端
CN111740995B (zh) 一种授权认证方法及相关装置
CN117390599B (zh) 一种离线多设备产品许可发放与验证方法、系统及设备
CN115766192A (zh) 基于ukey的离线安全认证方法、装置、设备及介质
CN112436937B (zh) 一种射频标签初始化密钥分发系统及方法
CN115225286A (zh) 应用访问鉴权方法及装置
CN115168811B (zh) 一种软件防破解方法及装置
CN114726539B (zh) 一种基于可信密码模块tcm的离线升级方法
CN115859389B (zh) 一种基于私有化部署的软件序列号授权方法及系统
CN113194090B (zh) 鉴权方法、鉴权装置、终端设备及计算机可读存储介质
CN109981612B (zh) 防止密码机设备非法复制的方法和系统及密码机设备
CN110972141B (zh) 信息验证方法、装置、电子设备及可读存储介质
CN117313165A (zh) 一种软件机器码的生成方法
CN117056878A (zh) 一种License授权认证集中管理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant