本发明涉及计算机,尤其涉及一种基于url的license授权认证方法及认证系统。
背景技术:
1、为防止软件被非法使用,常需要在软件中增加license功能,以对软件的使用进行控制。现有技术中,在软件中增加license功能主要通过以下方式实现:一种方式是将license绑定具体的终端设备或者绑定用户的身份信息,然而,这种绑定方式限制了使用软件的终端设备或用户,只有特定终端设备或用户才能使用该软件;另一种方式是将license应用于浏览器相关场景,然而,这种方式需要在专用的服务器上进行license校验,增加了校验的难度,而浏览器插件类产品由于无法连接专用服务器而不能采用这种方式。
技术实现思路
1、本发明提供一种基于url的license授权认证方法及认证系统,以便于基于url即可实现对软件使用的控制。
2、本发明提供一种基于url的license授权认证方法,其包括以下步骤:
3、工具包的js部分响应用户页面的init接口调用请求,在init接口中与c部分建立链接;
4、js部分根据获取的url地址生成待校验数据,并发送至c部分进行校验;
5、js部分根据接收的校验结果得到init调用结果,并将init调用结果反馈给用户页面;其中,校验结果是由c部分接收待校验数据后进行解密和校验得到的。
6、根据本发明提供的一种基于url的license授权认证方法,所述工具包的js部分响应用户页面的init接口调用请求,在init接口中与c部分建立链接,具体包括:
7、js部分向c部分发送建立链接请求;
8、js部分保存与c部分建立的链接;其中,js部分与c部分建立的链接是在c部分响应建立链接请求后建立的。
9、根据本发明提供的一种基于url的license授权认证方法,所述待校验数据为令牌token,js部分根据获取的url地址生成令牌token,并发送至c部分进行校验,具体包括:
10、js部分获取系统时间time和当前用户页面的url地址url;
11、js部分根据预设的项目名称派生出sm4-cbc对称加密密钥;
12、js部分利用加密密钥对时间地址对(time,url)进行加密,生成令牌token,并将令牌token发送给c部分进行校验。
13、根据本发明提供的一种基于url的license授权认证方法,所述c部分对令牌token进行校验的具体过程为:
14、c部分根据预设的项目名称派生出sm4-cbc对称解密密钥;其中,所述解密密钥与加密密钥相同;
15、c部分利用解密密钥对接收到的令牌token进行解密,得到时间地址对(time,url)。
16、c部分对解密得到的时间和url地址进行有效性校验,得到校验结果。
17、根据本发明提供的一种基于url的license授权认证方法,所述c部分对解密得到的时间和url地址进行有效性校验,得到校验结果,具体包括:
18、c部分对解密得到的时间进行有效性校验,校验解密得到的时间time与当前系统时间的差在预设的时间允许范围内时,进一步进行url地址校验;
19、c部分对解密得到的url地址url进行有效性校验,得到校验结果;其中,所述校验结果为校验成功和校验失败中的一种;当校验解密得到的url地址url在工具包内部绑定的url库中时,得到的校验结果为校验成功。
20、根据本发明提供的一种基于url的license授权认证方法,在所述工具包的js部分响应用户页面的init接口调用请求,在init接口中与c部分建立链接之前,还包括以下步骤:
21、对c部分进行签名校验;
22、其中,c部分设置有代码签名功能,通过c部分的代码签名功能校验签名的正确性;当签名校验通过时,表明c部分的程序未被修改,正常运行。
23、根据本发明提供的一种基于url的license授权认证方法,所述待校验数据为令牌token,js部分根据获取的url地址生成令牌token,并发送至c部分进行校验,具体包括:
24、工具包的js部分向c部分申请一个随机数;
25、js部分接收c部分生成并返回的随机数random;
26、js部分获取当前用户页面的url地址url;
27、js部分根据预设的项目名称派生出sm4-cbc对称加密密钥;
28、js部分利用加密密钥对随机数地址对(random,url)进行加密,生成令牌token,并将令牌token发送给c部分进行校验。
29、根据本发明提供的一种基于url的license授权认证方法,所述c部分对令牌token进行校验的具体过程为:
30、c部分根据预设的项目名称派生出sm4-cbc对称解密密钥;其中,所述解密密钥与加密密钥相同;
31、c部分利用解密密钥对接收到的令牌token进行解密,得到随机数地址对(random,url);
32、c部分对随机数和url地址进行有效性校验,并保存校验结果。
33、根据本发明提供的一种基于url的license授权认证方法,所述c部分对随机数和url地址进行有效性校验,并保存校验结果,具体包括:
34、c部分对解密得到的随机数进行有效性校验,校验解密得到的时间随机数与本地存储的随机数一致时,进一步进行url地址校验,并将存储的随机数销毁;
35、c部分对解密得到的url地址进行有效性校验,得到校验结果;其中,所述校验结果为校验成功和校验失败中的一种;当校验解密得到的url地址url在工具包内部绑定的url库中时,得到的校验结果为校验成功。
36、本发明还提供一种基于url的license授权认证系统,其包括用户页面和工具包,其中,工具包包括js部分和c部分;
37、所述js部分用于响应用户页面的init接口调用请求,在init接口中与c部分建立链接;所述js部分还用于根据获取的url地址生成待校验数据,所述c部分用于对接收到的待校验数据进行校验,得到校验结果;所述js部分用于根据接收的校验结果得到init调用结果,并将init调用结果反馈给用户页面。
38、根据本发明提供的一种基于url的license授权认证系统,所述js部分包括url获取模块、url加密模块和业务请求生成模块,所述c部分包括url解密模块、url校验模块和业务请求处理模块;
39、所述url获取模块用于获取用户页面对应的url地址,所述url加密模块利用加密密钥对时间地址对(time,url)进行加密,生成令牌token并发送给url解密模块;所述加密密钥是sm4-cbc对称加密密钥,根据预设的项目名称派生而来;所述时间地址对(time,url)中的时间time为所述url获取模块获取的系统时间;
40、所述url解密模块利用解密密钥对接收到的令牌token进行解密,得到时间地址对(time,url);所述url校验模块用于对解密得到的时间和url地址进行有效性校验,得到校验结果;
41、所述业务请求生成模块用于收到校验结果后生成业务请求;所述业务请求处理模块用于对接收到的业务请求进行处理。
42、根据本发明提供的一种基于url的license授权认证系统,所述js部分包括url获取模块、url加密模块和业务请求生成模块,所述c部分包括url解密模块、url校验模块和业务请求处理模块;
43、所述url获取模块用于获取用户页面对应的url地址,所述url加密模块利用加密密钥对随机数地址对(random,url)进行加密,生成令牌token并发送给url解密模块;所述加密密钥是sm4-cbc对称加密密钥,根据预设的项目名称派生而来;所述随机数地址对(random,url)中的随机数random是c部分响应js部分的请求生成的;
44、所述url解密模块利用解密密钥对接收到的令牌token进行解密,得到随机数地址对(random,url);所述url校验模块用于对解密得到的随机数和url地址进行有效性校验,得到校验结果;
45、所述业务请求生成模块用于收到校验结果后生成业务请求;所述业务请求处理模块用于对接收到的业务请求进行处理。
46、本发明提供的一种基于url的license授权认证方法及认证系统,通过工具包的js部分获取当前用户页面的url地址,然后将url地址加密生成待校验数据,并发送给工具包的c部分进行校验,本发明在授权认证过程中无需给终端用户签发额外的license,也不需要额外的服务器进行校验,基于用户页面的url即可实现工具包的license授权认证,从而实现对工具包使用的控制。
1.一种基于url的license授权认证方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于url的license授权认证方法,其特征在于,所述工具包的js部分响应用户页面的init接口调用请求,在init接口中与c部分建立链接,具体包括:
3.根据权利要求2所述的基于url的license授权认证方法,其特征在于,所述待校验数据为令牌token,js部分根据获取的url地址生成令牌token,并发送至c部分进行校验,具体包括:
4.根据权利要求3所述的基于url的license授权认证方法,其特征在于,所述c部分对令牌token进行校验的具体过程为:
5.根据权利要求4所述的基于url的license授权认证方法,其特征在于,所述c部分对解密得到的时间和url地址进行有效性校验,得到校验结果,具体包括:
6.根据权利要求1至5任一项所述的基于url的license授权认证方法,其特征在于,在所述工具包的js部分响应用户页面的init接口调用请求,在init接口中与c部分建立链接之前,还包括以下步骤:
7.根据权利要求2所述的基于url的license授权认证方法,其特征在于,所述待校验数据为令牌token,js部分根据获取的url地址生成令牌token,并发送至c部分进行校验,具体包括:
8.根据权利要求7所述的基于url的license授权认证方法,其特征在于,所述c部分对令牌token进行校验的具体过程为:
9.根据权利要求8所述的基于url的license授权认证方法,其特征在于,所述c部分对随机数和url地址进行有效性校验,并保存校验结果,具体包括:
10.一种基于url的license授权认证系统,其特征在于,包括用户页面和工具包,其中,工具包包括js部分和c部分;
11.根据权利要求10所述的基于url的license授权认证系统,其特征在于,所述js部分包括url获取模块、url加密模块和业务请求生成模块,所述c部分包括url解密模块、url校验模块和业务请求处理模块;
12.根据权利要求10所述的基于url的license授权认证系统,其特征在于,所述js部分包括url获取模块、url加密模块和业务请求生成模块,所述c部分包括url解密模块、url校验模块和业务请求处理模块;
