本发明涉及离线授权的,特指一种sdk纯离线授权方法、系统及存储介质。
背景技术:
1、现有的sdk(software development kit,软件开发工具包)的纯离线授权方法,是通过用户端收集用户机器码发送给授权方进行授权,然后授权方将授权文件返回给用户。这种方法在操作上存在维护成本高,每个终端都需要与授权方进行申请交互,操作相对繁琐。而其他的常见的离线授权方案中,比如将用于签发授权文件的预设私钥安全存放在usbkey中,如此可以保证预设私钥在任何情况下不会发生泄漏,将usb key以及授权工具直接交给客户端,让客户端自行在需要授权的每台终端上进行授权文件签发,减少与目标授权方的交互,但其存在授权文件被拷贝复用的风险。
技术实现思路
1、本发明的目的在于克服现有技术的缺陷,提供一种sdk纯离线授权方法、系统及存储介质,解决现有的离线授权方法由于需要终端与授权方进行交互而使得操作范围,维护成本高等的问题以及采用usb key的授权方式存在被拷贝复用的风险的问题。
2、实现上述目的的技术方案是:
3、本发明提供了一种sdk纯离线授权方法,包括如下步骤:
4、生成sdk的授权码;
5、提供授权工具,打包授权工具和授权码形成授权包;
6、在终端设备使用所述授权包进行授权时,所述授权包内的授权工具读取所述授权码并将所述授权包内对应的授权码删除,获取所述终端设备中一应用包名,将所获取的应用包名、所述应用包名对应的应用的安装时间及所读取的授权码以加密的方式生成授权证书内容,并将生成的授权证书内容写入到授权证书文件内;
7、终端设备在调用sdk时,sdk读取授权证书文件并获取所述授权证书文件中的应用包名、应用包名对应的应用的安装时间以及授权码,sdk通过获取的应用包名从所述终端设备中实时获取对应的应用的实际安装时间,比对所述实际安装时间与所述授权证书文件中的应用包名对应的应用的安装时间是否相一致,若一致则检验所述授权码是否合法,在检验结果合法时,则检验通过,从而完成sdk纯离线授权。
8、本发明提供了一种离线授权方法,终端设备无需联网即可授权激活,授权方和用户终端无需交互,授权方只需将授权工具和授权码打包发送给用户终端即可,用户终端在授权时,能够彻底防止授权文件被拷贝重复利用的风险。
9、本发明sdk纯离线授权方法的进一步改进在于,还包括:
10、所述授权工具在获取所述终端设备中的一应用包名之后,创建授权证书文件,并获取授权证书文件的创建时间和修改时间;
11、所述授权工具将所获取的授权证书文件的创建时间和修改时间加入到以加密方式生成的授权证书内容中,进而写入到授权证书文件内;
12、sdk在比对得到所述实际安装时间与所述授权证书文件中的应用包名对应的应用的安装时间相一致后,进一步比对从终端设备实时获取的授权证书文件的实际创建时间和实际修改时间与所述授权证书文件中的授权证书文件的创建时间和修改时间是否相一致,若一致再检验所述授权码是否合法。
13、本发明sdk纯离线授权方法的进一步改进在于,生成设定数量的sdk的授权码,并将生成的授权码以列表的形式存储;
14、在打包形成授权包时,对授权码列表进行加密,并将经加密的授权码列表与授权工具一起进行打包。
15、本发明sdk纯离线授权方法的进一步改进在于,所述授权工具所获取的终端设备中的一应用包名为终端设备的系统应用包名。
16、本发明sdk纯离线授权方法的进一步改进在于,所述授权工具将生成的授权证书内容写入到授权证书文件内后,将所述授权证书文件存入到指定目录中。
17、本发明还提供了一种sdk纯离线授权系统,包括:
18、授权工具,在终端设备上启动后,用于读取授权码并将授权包内对应的授权码删除,获取终端设备中一应用包名,将所获取的应用包名、所述应用包名对应的应用的安装时间及所读取的授权码以加密的方式生成授权证书内容,并将生成的授权证书内容写入到授权证书文件内;
19、嵌入sdk内的授权检验单元,在调用sdk时,所述授权检验单元读取对应终端设备上的授权证书文件,获取授权证书文件中的应用包名、应用包名对应的应用的安装时间以及授权码,所述授权检验单元通过获取的应用包名从所述终端设备中实时获取对应的应用的实际安装时间,比对所述实际安装时间与所述授权证书文件中的应用包名对应的应用的安装时间是否相一致,若一致则检验所述授权码是否合法,在检验结果合法时,则检验通过。
20、本发明sdk纯离线授权系统的进一步改进在于,所述授权工具还用于创建授权证书文件,并将授权证书文件的创建时间和修改时间加入到以加密方式生成的授权证书内中;
21、所述授权检验单元还用于在比对得到所述实际安装时间与所述授权证书文件中的应用包名对应的应用的安装时间相一致后,进一步比对从终端设备实时获取的授权证书文件的实际创建时间和实际修改时间与所述授权证书文件中的授权证书文件的创建时间和修改时间是否相一致,若一致再检验所述授权码是否合法。
22、本发明sdk纯离线授权系统的进一步改进在于,所述授权包内打包有授权码列表,且所述授权码列表为加密文件。
23、本发明sdk纯离线授权系统的进一步改进在于,所述应用包名为终端设备的系统应用包名。
24、本发明还提供了一种存储介质,所述存储介质上存储有sdk纯离线授权方法的程序,所述sdk纯离线授权方法的程序被处理器执行时实现所述的sdk纯离线授权方法的步骤。
1.一种sdk纯离线授权方法,其特征在于,包括如下步骤:
2.如权利要求1所述的sdk纯离线授权方法,其特征在于,还包括:
3.如权利要求1所述的sdk纯离线授权方法,其特征在于,生成设定数量的sdk的授权码,并将生成的授权码以列表的形式存储;
4.如权利要求1所述的sdk纯离线授权方法,其特征在于,所述授权工具所获取的终端设备中的一应用包名为终端设备的系统应用包名。
5.如权利要求1所述的sdk纯离线授权方法,其特征在于,所述授权工具将生成的授权证书内容写入到授权证书文件内后,将所述授权证书文件存入到指定目录中。
6.一种sdk纯离线授权系统,其特征在于,包括:
7.如权利要求6所述的sdk纯离线授权系统,其特征在于,所述授权工具还用于创建授权证书文件,并将授权证书文件的创建时间和修改时间加入到以加密方式生成的授权证书内中;
8.如权利要求6所述的sdk纯离线授权系统,其特征在于,所述授权包内打包有授权码列表,且所述授权码列表为加密文件。
9.如权利要求6所述的sdk纯离线授权系统,其特征在于,所述应用包名为终端设备的系统应用包名。
10.一种存储介质,其特征在于,所述存储介质上存储有sdk纯离线授权方法的程序,所述sdk纯离线授权方法的程序被处理器执行时实现如权利要求1至5中任一项所述的sdk纯离线授权方法的步骤。