本发明涉及软件授权,尤其是涉及一种软件授权方法、电子设备及存储介质。
背景技术:
1、随着计算机技术的发展以及知识产权保护意识的增强,对于软件的知识产权保护越发重要。在很多场景中,硬件设备是标准化的,软件是定制开发的。当设计好的软件交付给用户后,该软件可被拷贝出多份放在其他设备,这样极大的破坏了软件厂家的利益,不利于软件产品的可持续发展。传统的软件授权方法大多基于网络场景,对于离线的软件产品是不适用的。
2、因此,在离线的场景下,待授权设备无法对软件进行激活是现存的问题。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种软件授权方法、电子设备及存储介质,以解决上述问题,实现了在离线的场景下,待授权设备对软件进行激活。
2、第一方面,本发明实施例提供了一种软件授权方法,授权设备预先通过rsa签名算法对待授权设备的第一设备信息进行加密,得到待交付软件的目标授权文件,所述第一设备信息包括第一cpu序列号、第一硬盘序列号、第一授权起始时间、第一授权结束时间和第一授权厂家名称,所述方法包括:
3、待授权设备获取所述目标授权文件;
4、所述待授权设备通过rsa公钥验签算法对所述目标授权文件进行解密,得到第二设备信息,所述第二设备信息包括第二cpu序列号、第二硬盘序列号、第二授权起始时间、第二授权结束时间和第二授权厂家名称;
5、所述待授权设备验证所述第一设备信息和所述第二设备信息,得到验证结果,如果所述验证结果表征所述第一设备信息和所述第二设备信一致,则所述待授权设备激活所述待交付软件,如果所述验证结果表征所述第一设备信息和所述第二设备信不一致,则所述待授权设备无法激活所述待交付软件。
6、优选地,所述待授权设备通过rsa公钥验签算法对所述目标授权文件进行解密,得到第二设备信息的步骤,包括:
7、所述待授权设备通过可移动存储设备获取所述授权设备生成的密钥;其中,所述密钥包括公钥和私钥;
8、所述待授权设备通过所述密钥对所述目标授权文件进行解密,得到所述第二设备信息。
9、优选地,所述待授权设备获取所述授权文件的步骤,包括:
10、所述待授权设备通过所述可移动存储设备获取所述授权设备生成的所述公钥和关联文件;
11、所述待授权设备通过所述公钥和所述关联文件对所述目标授权文件进行验证,得到验证结果,如果所述验证结果表征所述目标授权文件有效,则所述待授权设备获取所述目标授权文件,如果所述验证结果表征所述目标授权文件无效,则所述待授权设备拒绝获取所述目标授权文件。
12、优选地,所述待授权设备通过所述公钥和所述关联文件对所述目标授权文件进行验证,得到验证结果的步骤,包括:
13、所述待授权设备通过哈希算法对所述目标授权文件的内容进行计算,得到目标授权文件哈希值;
14、所述待授权设备通过所述私钥对所述关联文件进行解密,得到关联文件哈希值;
15、所述待授权设备对所述目标授权文件哈希值和所述关联文件哈希值进行对比,若所述目标授权文件哈希值和所述关联文件哈希值相同,则所述验证结果表征所述目标授权文件有效,若所述目标授权文件哈希值和所述关联文件哈希值不同,则所述验证结果表征所述目标授权文件无效。
16、优选地,所述方法还包括:
17、所述待授权设备与所述授权设备建立网络连接后,向所述授权设备发送所述待交付软件的激活结果。
18、优选地,所述授权设备预先通过rsa签名算法对待授权设备的第一设备信息进行加密,得到待交付软件的目标授权文件的步骤,包括:
19、所述授权设备获取所述第一设备信息,所述第一设备信息包括第一cpu序列号、第一硬盘序列号、第一授权起始时间、第一授权结束时间和第一授权厂家名称;
20、所述授权设备通过rsa签名算法生成所述密钥;
21、所述授权设备通过所述密钥对所述第一设备信息进行加密,得到所述目标授权文件。
22、优选地,所述授权设备通过所述密钥对所述第一设备信息进行加密,得到所述目标授权文件的步骤,包括:
23、所述授权设备通过所述私钥对所述第一设备信息进行处理,得到第一设备信息哈希值;
24、所述授权设备基于base64编码规则对所述第一设备信息哈希值进行编码处理得到所述激活码字符串;
25、所述授权设备通过所述公钥对所述激活码字符串进行加密,得到初步授权文件;
26、所述授权设备将所述初步授权文件写入所述许可文件,生成所述目标授权文件。
27、优选地,所述授权设备预先生成许可文件,所述方法还包括:
28、所述授权设备通过所述哈希算法对所述初步授权文件的内容进行计算,得到所述关联文件哈希值;
29、所述授权设备通过所述公钥对所述关联文件哈希值进行加密,得到所述关联文件。
30、本发明提供的软件授权方法带来了以下有益效果:
31、本发明提供了一种软件授权方法,该方法通过rsa签名算法对第一设备信息加密的过程,可以保证第一设备信息不被泄露,避免了第一设备信息泄露后,非待授权设备根据第一设备信息篡改自身的设备信息,以激活待交付软件的情况出现,保证了待授权设备对第一设备信息和第二设备信息验证过程的准确性。与现有技术相比,该方法将第一设备信息加密生成目标授权文件,实现了离线状态下,待授权设备也可对第一设备信息和第二设备信息进行验证,以使待交付软件对待授权设备进行授权,无需基于网络,适用的验证场景更加广泛。该方法避免了待交付软件被随意拷贝,提高了待交付软件的专用性。
32、第二方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述任一项所述的方法中的有益效果,在此不再赘述。
33、第三方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现上述任一项所述的方法中的有益效果,在此不再赘述。
34、本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
35、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
1.一种软件授权方法,其特征在于,授权设备预先通过rsa签名算法对待授权设备的第一设备信息进行加密,得到待交付软件的目标授权文件,所述第一设备信息包括第一cpu序列号、第一硬盘序列号、第一授权起始时间、第一授权结束时间和第一授权厂家名称,所述方法包括:
2.根据权利要求1所述的软件授权方法,其特征在于,所述待授权设备通过rsa公钥验签算法对所述目标授权文件进行解密,得到第二设备信息的步骤,包括:
3.根据权利要求1所述的软件授权方法,其特征在于,所述待授权设备获取所述授权文件的步骤,包括:
4.根据权利要求3所述的软件授权方法,其特征在于,所述待授权设备通过所述公钥和所述关联文件对所述目标授权文件进行验证,得到验证结果的步骤,包括:
5.根据权利要求1所述的软件授权方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的软件授权方法,其特征在于,所述授权设备预先通过rsa签名算法对待授权设备的第一设备信息进行加密,得到待交付软件的目标授权文件的步骤,包括:
7.根据权利要求6所述的软件授权方法,其特征在于,所述授权设备通过所述密钥对所述第一设备信息进行加密,得到所述目标授权文件的步骤,包括:
8.根据权利要求7所述的软件授权方法,其特征在于,所述授权设备预先生成许可文件,所述方法还包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1-8任一项所述的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述权利要求1-8任一项所述的方法的步骤。
