CN115238248A - Sdk离线授权方法、装置、设备及介质 - Google Patents
Sdk离线授权方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115238248A CN115238248A CN202210976534.2A CN202210976534A CN115238248A CN 115238248 A CN115238248 A CN 115238248A CN 202210976534 A CN202210976534 A CN 202210976534A CN 115238248 A CN115238248 A CN 115238248A
- Authority
- CN
- China
- Prior art keywords
- authorization
- sdk
- authorized
- preset
- target
- 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.)
- Pending
Links
- 238000013475 authorization Methods 0.000 title claims abstract description 419
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012795 verification Methods 0.000 claims abstract description 36
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/105—Arrangements for software license management or administration, e.g. for managing licenses at corporate level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种SDK离线授权方法、装置、设备及介质,涉及计算机软件领域,该方法包括:判断当前可授权次数是否大于预设次数阈值,若大于则基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,并更新当前可授权次数,将授权文件保存至与目标SDK对应的预设目录中;判断与目标SDK对应的预设目录下是否存在授权文件,若存在则对授权文件进行证书验签,并获取证书验签的验签结果;判断验签结果是否满足第一预设条件,若满足则判断授权文件的授权有效期是否满足第二预设条件;若满足则判断当前待授权设备的第一机器码信息与授权文件中的第二机器码信息是否匹配,若匹配则授予目标SDK对应的权限,以便运行目标SDK。能够降低SDK离线授权的成本。
Description
技术领域
本发明涉及计算机软件领域,特别涉及SDK离线授权方法、装置、设备及介质。
背景技术
随着网络信息安全和软件安全越来越受到更多企业的重视,多数企业选择对信息系统进行内网环境独立部署,特别是在政企、事业单位则使用专网环境以隔绝互联网,软件SDK(Software Development Kit,即软件开发工具包)的离线授权有着越来越多的需求。现有市面上SDK离线授权方案,通常是收集用户机器码给授权方,授权方进行授权后,手动将授权文件返回给用户,这种方法在操作性上带来了很大的维护成本,每台终端授权时均需要与授权方进行申请交互,较为繁琐,不易使用。其他通用的授权方案,由于为了避免授权文件被拷贝或更改,需要在用户方部署授权服务,SDK在使用时通过与授权服务通信来进行授权控制,但此方法存在额外的授权服务部署问题,成本太高,不适用于SDK类产品。
综上可见,如何降低SDK离线授权的成本是本领域有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种SDK离线授权方法、装置、设备及介质,能够降低SDK离线授权的成本。其具体方案如下:
第一方面,本申请公开了一种SDK离线授权方法,包括:
判断当前可授权次数是否大于预设次数阈值,若大于则基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,并更新所述当前可授权次数,然后将所述授权文件保存至与所述目标SDK对应的预设目录中;
判断与所述目标SDK对应的所述预设目录下是否存在所述授权文件,若存在则对所述授权文件进行证书验签,并获取所述证书验签的验签结果;
判断所述验签结果是否满足第一预设条件,若满足则判断所述授权文件的授权有效期是否满足第二预设条件;
若满足则判断所述当前待授权设备的第一机器码信息与所述授权文件中的第二机器码信息是否匹配,若匹配则授予所述目标SDK对应的权限,以便运行所述目标SDK。
可选的,所述判断当前可授权次数是否大于预设次数阈值,包括:
获取USB key中预设内部计数器所记录的当可前授权次数,并判断所述当可前授权次数是否大于预设次数阈值。
可选的,所述基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,包括:
获取目标授权方生成的授权工具;
基于第二授权信息以及当前待授权设备的第一授权信息,利用所述授权工具生成与目标SDK对应的授权文件。
可选的,所述基于第二授权信息以及当前待授权设备的第一授权信息,利用所述授权工具生成与目标SDK对应的授权文件,包括:
基于授权单位信息、授权有效期、授权总次数以及当前待授权设备的第一授权信息,利用所述授权工具生成与目标SDK对应的授权文件。
可选的,所述判断当前可授权次数是否大于预设次数阈值之前,还包括:
将所述授权单位信息、所述授权有效期、所述授权总次数发送至所述目标授权方,以便所述目标授权方基于所述授权单位信息、所述授权有效期、所述授权总次数生成所述授权工具和所述USB key。
可选的,所述对所述授权文件进行证书验签,包括:
调用所述目标SDK中的预设公钥对所述当前授权文件进行证书验签。
可选的,所述基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,包括:
基于当前待授权设备的第一授权信息,并利用预设私钥生成与目标SDK对应的授权文件。
第二方面,本申请公开了一种SDK离线授权装置,包括:
第一判断模块,用于判断当前可授权次数是否大于预设次数阈值,若大于则基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,并更新所述当前可授权次数,然后将所述授权文件保存至与所述目标SDK对应的预设目录中;
第二判断模块,用于判断与所述目标SDK对应的所述预设目录下是否存在所述授权文件,若存在则对所述授权文件进行证书验签,并获取所述证书验签的验签结果;
第三判断模块,用于判断所述验签结果是否满足第一预设条件,若满足则判断所述授权文件的授权有效期是否满足第二预设条件;
第四判断模块,用于若满足则判断所述当前待授权设备的第一机器码信息与所述授权文件中的第二机器码信息是否匹配;
授权模块,用于若匹配则授予所述目标SDK对应的权限,以便运行所述目标SDK。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的SDK离线授权方法的步骤。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的SDK离线授权方法的步骤。
可见,本申请判断当前可授权次数是否大于预设次数阈值,若大于则基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,并更新所述当前可授权次数,然后将所述授权文件保存至与所述目标SDK对应的预设目录中;判断与所述目标SDK对应的所述预设目录下是否存在所述授权文件,若存在则对所述授权文件进行证书验签,并获取所述证书验签的验签结果;判断所述验签结果是否满足第一预设条件,若满足则判断所述授权文件的授权有效期是否满足第二预设条件;若满足则判断所述当前待授权设备的第一机器码信息与所述授权文件中的第二机器码信息是否匹配,若匹配则授予所述目标SDK对应的权限,以便运行所述目标SDK。由此可见,本申请签发授权文件时需要判断当前可授权次数是否大于预设次数阈值,若大于则说明本次无需向目标授权方申请授权,可以进行签发授权文件,然后判断预设目录中是否存在授权文件,如果存在则对授权文件进行证书验签;如果验签结果满足第一预设条件,则判断授权有效期是否满足第二预设条件;如果满足则进一步判断第一机器码信息与第二机器码信息是否匹配,如果匹配则授予目标SDK相应的权限,可见本次离线授权无需与目标授权方进行交互,离线授权更加简单方便,降低繁琐程度,并且无需额外的授权服务部署,进而成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种SDK离线授权方法流程图;
图2为本申请公开的一种具体的SDK离线授权方法流程图;
图3为本申请公开的一种具体的SDK离线授权方法流程图;
图4为本申请公开的一种SDK离线授权装置结构示意图;
图5为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有市面上SDK离线授权方案,通常是收集用户机器码给授权方,授权方进行授权后,手动将授权文件返回给用户,这种方法在操作性上带来了很大的维护成本,每台终端授权时均需要与授权方进行申请交互,较为繁琐,不易使用。其他通用的授权方案,由于为了避免授权文件被拷贝或更改,需要在用户方部署授权服务,SDK在使用时通过与授权服务通信来进行授权控制,但此方法存在额外的授权服务部署问题,成本太高,不适用于SDK类产品。
为此本申请相应的提供了一种SDK离线授权方案,能够降低SDK离线授权的成本。
参见图1所示,本发明实施例公开了一种SDK离线授权方法,包括:
步骤S11:判断当前可授权次数是否大于预设次数阈值,若大于则基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,并更新所述当前可授权次数,然后将所述授权文件保存至与所述目标SDK对应的预设目录中。
本实施例中,所述基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,具体包括:基于当前待授权设备的第一授权信息,并利用预设私钥生成与目标SDK对应的授权文件。可以理解的是,客户端获取授权方返回的授权工具、USB(UniversalSerial Bus,即通用串行总线)key中相关数据以及目标SDK,可以在当前待授权设备中插入USB key以获取USB key中预设内部计数器所记录的当前可授权次数,并运行授权工具,USBkey内部在做签名时需要校验USB key中预设内部计数器所记录的当前可授权次数是否大于预设次数阈值,并且只有当前可授权次数大于预设次数阈值时才能得到与目标SDK对应的授权文件,需要注意的是,每利用授权工具生成一个授权文件,那么就需要USB Key中的程序自动更新更新当前可授权次数,其中预设次数阈值可以为0次。
本实施例中,用于签发授权文件的预设私钥安全存放在USB Key中,可以保证预设私钥在任何情况下不会泄露,因此可以将USB Key以及授权工具直接交给客户端,让客户端自行在需要授权的每台终端上进行授权文件签发,减少与目标授权方的交互。
步骤S12:判断与所述目标SDK对应的所述预设目录下是否存在所述授权文件,若存在则对所述授权文件进行证书验签,并获取所述证书验签的验签结果。
本实施例中,所述对所述授权文件进行证书验签,具体包括:调用所述目标SDK中的预设公钥对所述当前授权文件进行证书验签。授权方在返回授权工具、USB key以及目标SDK之前,将预设公钥内置于目标SDK之中。
步骤S13:判断所述验签结果是否满足第一预设条件,若满足则判断所述授权文件的授权有效期是否满足第二预设条件。
本实施例中,需要注意的是,生成授权文件之后会利用预设私钥生成与授权文件对应的第一签名,利用预设公钥对授权文件进行证书验签以得到第二签名,判断验签结果是否满足第一预设条件,即判断第一签名与第二签名之间是否匹配,若匹配则说明授权文件并未被修改,以便确保授权文件的真实性与可靠性。如果验签结果满足第一预设条件,则判断授权文件的授权有效期是否满足第二预设条件,即判断授权有效期是否包含当前日期,例如授权有效期为2022年12月31日,当前日期为2022年7月1日,那么授权文件的授权有效期满足第二预设条件,如果授权有效期为2022年10月28日,当前日期为2022年11月1日,那么授权文件的授权有效期不满足第二预设条件。
步骤S14:若满足则判断所述当前待授权设备的第一机器码信息与所述授权文件中的第二机器码信息是否匹配,若匹配则授予所述目标SDK对应的权限,以便运行所述目标SDK。
本实施例中如果授权文件的授权有效期满足第二预设条件,则判断当前待授权设备的第一机器码信息与授权文件中的第二机器码信息是否匹配,即判断第一机器码信息与第二机器码信息是否一致,因为在生成授权文件过程中需要利用待授权设备的第二机器码信息,如果第一机器码信息与第二机器码信息一致,则说明待授权设备与当前待授权设备为同一设备,那么则可以为授予当前待授权设备中目标SDK对应的权限,以便运行目标SDK。
可见,本申请判断当前可授权次数是否大于预设次数阈值,若大于则基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,并更新所述当前可授权次数,然后将所述授权文件保存至与所述目标SDK对应的预设目录中;判断与所述目标SDK对应的所述预设目录下是否存在所述授权文件,若存在则对所述授权文件进行证书验签,并获取所述证书验签的验签结果;判断所述验签结果是否满足第一预设条件,若满足则判断所述授权文件的授权有效期是否满足第二预设条件;若满足则判断所述当前待授权设备的第一机器码信息与所述授权文件中的第二机器码信息是否匹配,若匹配则授予所述目标SDK对应的权限,以便运行所述目标SDK。由此可见,本申请签发授权文件时需要判断当前可授权次数是否大于预设次数阈值,若大于则说明本次无需向目标授权方申请授权,可以进行签发授权文件,然后判断预设目录中是否存在授权文件,如果存在则对授权文件进行证书验签;如果验签结果满足第一预设条件,则判断授权有效期是否满足第二预设条件;如果满足则进一步判断第一机器码信息与第二机器码信息是否匹配,如果匹配则授予目标SDK相应的权限,可见本次离线授权无需与目标授权方进行交互,离线授权更加简单方便,降低繁琐程度,并且无需额外的授权服务部署,进而成本。
参见图2所示,本发明实施例公开了一种具体的SDK离线授权方法,包括:
步骤S21:获取USB key中预设内部计数器所记录的当可前授权次数,并判断所述当可前授权次数是否大于预设次数阈值,若大于则基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,并更新所述当前可授权次数,然后将所述授权文件保存至与所述目标SDK对应的预设目录中。
本实施例中,可以理解的是,客户端首次采购目标SDK时,约定该目标SDK将授权给100台待授权设备,并且客户端将第二授权信息发送至目标授权方,目标授权方基于第二授权信息生成授权工具和USB key,并将预设公钥内置于目标SDK中。客户端获取授权工具、USB key中预设内部计数器所记录的当可前授权次数以及目标SDK,然后依次对100台设备进行SDK离线授权,例如当前待授权设备为第1台设备至第100台设备中的第98台设备,那么第98台设备插入USB key,并运行授权工具,授权工具向USB key发送签名指令,USB key内部在做签名时需要校验预设内部计数器的数值3是否大于0,因为大于0,所以输出签名值,需要注意的是,预设内部计数器所记录的当可前授权次数变为2;如果当前待授权设备为第101台设备,那么第101台设备插入USB key,并运行授权工具,授权工具向USB key发送签名指令,USB key内部在做签名时需要校验预设内部计数器的数值0是否大于0,因为不大于0,所以无法输出签名值,并输出错误码告知授权工具,授权工具基于错误码提示用户授权失败,当前可授权次数不足,如果第101台设备需要授权那么需要客户端重新将第二授权信息发送至目标授权方,以便后续可以对第101台设备进行相关授权。
步骤S22:判断与所述目标SDK对应的所述预设目录下是否存在所述授权文件,若存在则对所述授权文件进行证书验签,并获取所述证书验签的验签结果。
步骤S23:判断所述验签结果是否满足第一预设条件,若满足则判断所述授权文件的授权有效期是否满足第二预设条件。
本实施例中,需要注意的是,如果授权文件的授权有效期不满足第二预设条件,那么客户端需要重新将相关的第二授权信息发送至目标授权方,目标授权方基于第二授权信息生成授权工具和USB key,并将预设公钥内置于目标SDK中。
步骤S24:若满足则判断所述当前待授权设备的第一机器码信息与所述授权文件中的第二机器码信息是否匹配,若匹配则授予所述目标SDK对应的权限,以便运行所述目标SDK。
由此可见,在USB Key中内置预设内部计数器,利用预设内部计数器记录当前可授权次数,可以保证除目标授权方外没有任何人能够修改USB Key中当前可授权次数,达到控制客户端使用数量的目的。
参见图3所示,本发明实施例公开了一种具体的SDK离线授权方法,包括:
步骤S31:判断当前可授权次数是否大于预设次数阈值,若大于则获取目标授权方生成的授权工具,并基于第二授权信息以及当前待授权设备的第一授权信息。
本实施例中,所述基于第二授权信息以及当前待授权设备的第一授权信息,利用所述授权工具生成与目标SDK对应的授权文件,包括:基于授权单位信息、授权有效期、授权总次数以及当前待授权设备的第一授权信息,利用所述授权工具生成与目标SDK对应的授权文件。
本实施例中,所述判断当前可授权次数是否大于预设次数阈值之前,还包括:将所述授权单位信息、所述授权有效期、所述授权总次数发送至所述目标授权方,以便所述目标授权方基于所述授权单位信息、所述授权有效期、所述授权总次数生成所述授权工具和所述USB key。可以理解的是,目标授权方仅利用授权单位信息、授权有效期、授权总次数,而无需利用或收集每台客户端的机器信息,对目标授权方而言减少了工作量,对客户端而言保护了设备终端的隐私。
步骤S32:利用所述授权工具生成与目标SDK对应的授权文件,并更新所述当前可授权次数,然后将所述授权文件保存至与所述目标SDK对应的预设目录中。
本实施例中,可以理解的是,生成授权文件的总数量与授权总次数一致,例如客户端发送的授权总次数为150,那么客户端收到授权工具、USB key和目标SDK后,利用授权工具、USB key生成的授权文件总数量应为150,也即只能对150台待授权设备进行离线授权,如果需要对更多的待授权设备进行授权,则需要重新将授权单位信息、授权有效期以及新的授权总次数发送至目标授权方,以便后续生成对应的授权文件。
步骤S33:判断与所述目标SDK对应的所述预设目录下是否存在所述授权文件,若存在则对所述授权文件进行证书验签,并获取所述证书验签的验签结果。
步骤S34:判断所述验签结果是否满足第一预设条件,若满足则判断所述授权文件的授权有效期是否满足第二预设条件。
步骤S35:若满足则判断所述当前待授权设备的第一机器码信息与所述授权文件中的第二机器码信息是否匹配,若匹配则授予所述目标SDK对应的权限,以便运行所述目标SDK。
由此可见,本申请在进行SDK离线授权的过程中,客户端只需将第二授权信息发送至目标授权方,又因为第二授权信息为授权单位信息、授权有效期、授权总次数,即客户端无需将每台待授权设备的相关信息传输至目标授权方,能够更好的保护客户端设备的隐私,并且也减少了目标授权方的工作量;生成授权文件之后,目标SDK在启动时仅需要进行授权文件验证,过程中无需联网,也无需USB Key等设备,满足离线授权要求。
下面对本申请SDK离线授权方法进行说明。当客户端首次采购目标SDK时,将授权单位信息、授权有效期、授权总次数作为第二授权信息并发送至目标授权方,例如授权总次数为100,也即本次采购的目标SDK可以在100台设备上进行授权以及后续使用。目标授权方接收第二授权信息后,生成授权工具和USB Key,其中授权工具包含第二授权信息和本次采购的目标SDK的授权有效期,例如授权有效期为2022年12月25日,并向USB Key中导入预设私钥和预设私钥,再将预设公钥内置于目标SDK中,然后目标授权方将授权工具、USB Key以及目标SDK交付至客户端。
客户端接收授权工具、USB Key以及目标SDK,因为授权总次数为100,则在100台待授权设备上依次进行SDK离线授权工作,例如在第1台待授权设备上先插入USB Key,运行授权工具的过程中,需要USB key内部在做签名时校验USB Key中预设内部计数器所记录的当可前授权次数是否大于预设次数阈值,可以理解的是,当前可授权次数为100,预设次数阈值为0,因为当前可授权次数大于预设次数阈值,那么可以运行授权工具,基于第二授权信息以及第1台待授权设备的第一授权信息,利用所述授权工具、预设私钥生成与目标SDK对应的授权文件,生成授权文件后预设内部计数器所记录的当可前授权次数由100变为99,其中第一授权信息例如为第一台待授权设备的第二机器码信息,可以对第1台待授权设备的CPU(central processing unit,即中央处理器)ID(Identity document,即身份标识号)、BIOS(Basic Input Output System,即基本输入输出系统)ID等信息进行编码,以得到第二机器码信息。将生成的授权文件保存至第1台待授权设备中与目标SDK对应的预设目录中。如果在第101台设备上插入USB Key,然后判断USB Key中预设内部计数器所记录的当可前授权次数是否大于预设次数阈值,可以理解的是,此时的当可前授权次数为0,预设次数阈值也为0,那么当可前授权次数不大于预设次数阈值,如果第101台设备需要授权并运行目标SDK,则需要发送新的第二授权信息至目标授权方,例如该次需要对另外的50台设备进行授权,那么授权总次数可以为50。
判断与目标SDK对应的预设目录中是否存在授权文件,如果存在则调用目标SDK中的预设公钥对授权文件进行证书验签,获取证书验签的验签结果,然后判断验签结果是否满足第一预设条件,若满足则判断授权文件的授权有效期2022年12月25日是否满足第二预设条件,例如当前日期为2022年12月26日,那么授权有效期不包含当前日期,则判定不满足第二预设条件,如果当前日期为2022年12月20日,那么授权有效期包含当前日期,则判定满足第二预设条件;如果不满足第二预设条件,则客户端需要将新的第二授权信息发送至目标授权方,以便生成新的授权文件,而旧的授权文件则被替换掉;如果满足则判断第1台待授权设备的第一机器码信息与授权文件中的第二机器码信息是否匹配,如果匹配则授予第1台待授权设备的目标SDK对应的权限,以便第1台待授权设备的运行目标SDK。
参见图4所示,本发明实施例公开了一种SDK离线授权装置,包括:
第一判断模块11,用于判断当前可授权次数是否大于预设次数阈值,若大于则基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,并更新所述当前可授权次数,然后将所述授权文件保存至与所述目标SDK对应的预设目录中;
第二判断模块12,用于判断与所述目标SDK对应的所述预设目录下是否存在所述授权文件,若存在则对所述授权文件进行证书验签,并获取所述证书验签的验签结果;
第三判断模块13,用于判断所述验签结果是否满足第一预设条件,若满足则判断所述授权文件的授权有效期是否满足第二预设条件;
第四判断模块14,用于若满足则判断所述当前待授权设备的第一机器码信息与所述授权文件中的第二机器码信息是否匹配;
授权模块15,用于若匹配则授予所述目标SDK对应的权限,以便运行所述目标SDK。
可见,本申请判断当前可授权次数是否大于预设次数阈值,若大于则基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,并更新所述当前可授权次数,然后将所述授权文件保存至与所述目标SDK对应的预设目录中;判断与所述目标SDK对应的所述预设目录下是否存在所述授权文件,若存在则对所述授权文件进行证书验签,并获取所述证书验签的验签结果;判断所述验签结果是否满足第一预设条件,若满足则判断所述授权文件的授权有效期是否满足第二预设条件;若满足则判断所述当前待授权设备的第一机器码信息与所述授权文件中的第二机器码信息是否匹配,若匹配则授予所述目标SDK对应的权限,以便运行所述目标SDK。由此可见,本申请签发授权文件时需要判断当前可授权次数是否大于预设次数阈值,若大于则说明本次无需向目标授权方申请授权,可以进行签发授权文件,然后判断预设目录中是否存在授权文件,如果存在则对授权文件进行证书验签;如果验签结果满足第一预设条件,则判断授权有效期是否满足第二预设条件;如果满足则进一步判断第一机器码信息与第二机器码信息是否匹配,如果匹配则授予目标SDK相应的权限,可见本次离线授权无需与目标授权方进行交互,离线授权更加简单方便,降低繁琐程度,并且无需额外的授权服务部署,进而成本。
图5为本申请实施例提供的一种电子设备的结构示意图。具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的由计算机设备执行的SDK离线授权方法中的相关步骤。
本实施例中,电源23用于为计算机设备20上的各硬件设备提供工作电压;通信接口24能够为计算机设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括操作系统221、计算机程序222及数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制计算机设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由计算机设备20执行的SDK离线授权方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括计算机设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器加载并执行时,实现前述任一实施例公开的由SDK离线授权过程中执行的方法步骤。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种SDK离线授权方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种SDK离线授权方法,其特征在于,包括:
判断当前可授权次数是否大于预设次数阈值,若大于则基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,并更新所述当前可授权次数,然后将所述授权文件保存至与所述目标SDK对应的预设目录中;
判断与所述目标SDK对应的所述预设目录下是否存在所述授权文件,若存在则对所述授权文件进行证书验签,并获取所述证书验签的验签结果;
判断所述验签结果是否满足第一预设条件,若满足则判断所述授权文件的授权有效期是否满足第二预设条件;
若满足则判断所述当前待授权设备的第一机器码信息与所述授权文件中的第二机器码信息是否匹配,若匹配则授予所述目标SDK对应的权限,以便运行所述目标SDK。
2.根据权利要求1所述的SDK离线授权方法,其特征在于,所述判断当前可授权次数是否大于预设次数阈值,包括:
获取USB key中预设内部计数器所记录的当可前授权次数,并判断所述当可前授权次数是否大于预设次数阈值。
3.根据权利要求2所述的SDK离线授权方法,其特征在于,所述基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,包括:
获取目标授权方生成的授权工具;
基于第二授权信息以及当前待授权设备的第一授权信息,利用所述授权工具生成与目标SDK对应的授权文件。
4.根据权利要求3所述的SDK离线授权方法,其特征在于,所述基于第二授权信息以及当前待授权设备的第一授权信息,利用所述授权工具生成与目标SDK对应的授权文件,包括:
基于授权单位信息、授权有效期、授权总次数以及当前待授权设备的第一授权信息,利用所述授权工具生成与目标SDK对应的授权文件。
5.根据权利要求4所述的SDK离线授权方法,其特征在于,所述判断当前可授权次数是否大于预设次数阈值之前,还包括:
将所述授权单位信息、所述授权有效期、所述授权总次数发送至所述目标授权方,以便所述目标授权方基于所述授权单位信息、所述授权有效期、所述授权总次数生成所述授权工具和所述USB key。
6.根据权利要求1至5任一项所述的SDK离线授权方法,其特征在于,所述对所述授权文件进行证书验签,包括:
调用所述目标SDK中的预设公钥对所述当前授权文件进行证书验签。
7.根据权利要求6所述的SDK离线授权方法,其特征在于,所述基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,包括:
基于当前待授权设备的第一授权信息,并利用预设私钥生成与目标SDK对应的授权文件。
8.一种SDK离线授权装置,其特征在于,包括:
第一判断模块,用于判断当前可授权次数是否大于预设次数阈值,若大于则基于当前待授权设备的第一授权信息生成与目标SDK对应的授权文件,并更新所述当前可授权次数,然后将所述授权文件保存至与所述目标SDK对应的预设目录中;
第二判断模块,用于判断与所述目标SDK对应的所述预设目录下是否存在所述授权文件,若存在则对所述授权文件进行证书验签,并获取所述证书验签的验签结果;
第三判断模块,用于判断所述验签结果是否满足第一预设条件,若满足则判断所述授权文件的授权有效期是否满足第二预设条件;
第四判断模块,用于若满足则判断所述当前待授权设备的第一机器码信息与所述授权文件中的第二机器码信息是否匹配;
授权模块,用于若匹配则授予所述目标SDK对应的权限,以便运行所述目标SDK。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的SDK离线授权方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的SDK离线授权方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210976534.2A CN115238248A (zh) | 2022-08-15 | 2022-08-15 | Sdk离线授权方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210976534.2A CN115238248A (zh) | 2022-08-15 | 2022-08-15 | Sdk离线授权方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115238248A true CN115238248A (zh) | 2022-10-25 |
Family
ID=83679730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210976534.2A Pending CN115238248A (zh) | 2022-08-15 | 2022-08-15 | Sdk离线授权方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115238248A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795438A (zh) * | 2022-12-20 | 2023-03-14 | 东信和平科技股份有限公司 | 应用程序授权的方法、系统及可读存储介质 |
-
2022
- 2022-08-15 CN CN202210976534.2A patent/CN115238248A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115795438A (zh) * | 2022-12-20 | 2023-03-14 | 东信和平科技股份有限公司 | 应用程序授权的方法、系统及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110096857B (zh) | 区块链系统的权限管理方法、装置、设备和介质 | |
CN108305072B (zh) | 部署区块链网络的方法、设备和计算机存储介质 | |
JP3918827B2 (ja) | セキュアリモートアクセスシステム | |
CN106843976B (zh) | 用于生成镜像文件的方法和装置 | |
CN103098068A (zh) | 用于暂时受信任装置的方法和设备 | |
CN105337928A (zh) | 用户身份识别方法、安全保护问题生成方法及装置 | |
CN110134930A (zh) | 电子合同管理方法、装置、计算机设备和存储介质 | |
CN114117376A (zh) | 身份认证的方法、分配动态密码的方法及相应的设备 | |
CN115129332A (zh) | 固件烧录方法、计算机设备及可读存储介质 | |
CN115238248A (zh) | Sdk离线授权方法、装置、设备及介质 | |
CN104253687A (zh) | 降低验证效率方法、生成验证码方法、相关系统及服务器 | |
CN105786575B (zh) | 移动终端及其用于重写系统时数据免清除的方法 | |
CN114048506A (zh) | 应用控制方法、装置、设备以及存储介质 | |
CN115964755B (zh) | 数据授权及验证方法、装置、设备和存储介质 | |
CN108171063A (zh) | 访问安全元件的方法、终端及计算机可读存储介质 | |
CN111047444A (zh) | 一种基于区块链网络的数据交易方法和装置 | |
CN103559430A (zh) | 基于安卓系统的应用账号管理方法和装置 | |
CN111104363B (zh) | 一种fpga云平台使用方法、装置、设备、介质 | |
CN115344889A (zh) | 虚拟机的控制台访问方法、装置、设备及介质 | |
US8499333B2 (en) | Secure device feature unlock mechanism third party development | |
JP2008176506A (ja) | 情報処理装置、情報処理方法、および管理サーバ | |
CN114091112A (zh) | 应用权限管控方法、装置和电子设备 | |
CN109167785B (zh) | 一种虚拟可信根的调用方法和业务服务器 | |
JP2021149506A (ja) | 情報処理装置、情報処理方法およびプログラム | |
CN111353150A (zh) | 一种可信启动方法、装置、电子设备及可读存储介质 |
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 |