概述

深思数盾开发者管理工具(以下简称 “开发者管理工具”),是 Virbox 开发者工具盒的一部分,是本地签发硬件锁许可的重要工具,通过此工具,您可以通过手动配置来签发硬件锁许可而无需编写任何代码。

快速入门

第一步,前提操作

首先,我们叫给当前计算机安装好 Virbox SDK,这里不再多说,您在使用此工具时,说明已经安装好了 Virbox SDK。

然后,确保当前计算机上安装了 Virbox 用户工具,不安装也可以,您可以将许可升级包保存为本地文件,可以用于远程文件升级。为了更快速的展示许可写入的流程,建议您确认已经在本机装上了 Virbox 用户工具。

最后,插入开发锁(控制锁)和用户锁(要写入许可的加密锁),然后输入开发锁的PIN码。点击主界面右上角的【开发锁PIN设置】按钮,在弹出下图的窗口中【执行PIN验证】。其他详细的PIN码操作方法,请参考 开发锁 PIN码 使用手册

第二步,创建产品

如上图所示,打开 开发者管理工具的首界面后,在左侧选择【产品管理】,然后在右侧点击【添加】按钮,弹出如下窗口。其中 号标记的栏目为必填项。这里我们填入产品名称、许可ID和许可版本。其他栏目默认即可,然后点击【确定】保存产品信息。

第三步,创建模板

保存产品信息后,会回到主界面,我们会在主界面列表中看到我们刚刚创建的产品。我们在右侧选择【模板/授权】选项,然后在右侧找到并点击【新建模板】按钮,如下图所示。

点击【新建模板】按钮后,会弹出如下图所示窗口,我们选择刚刚创建的产品,注意:一定要用鼠标点击并选中产品。如下图所示,点击【下一步】按钮。

当点击【下一步】按钮后,会弹出“新建模板”界面,我们输入“模板名称”,并且设置当前模板是【永久许可】(其他设置后面会讲到),即许可发布后,软件可以无限期使用。然后点击【确定】按钮完成设置。

模板创建成功后,会回到【模板/授权】界面,这时候我们会在列表中看到我们刚刚创建的模板,如下图所示。

第四步,发布许可

仍然是在【模板/授权】界面,用鼠标选中我们创建好的模板,点击右上角的【发布许可】按钮,会弹出如下图所示窗口,您可以在发布许可前,再次确认并修改许可的条款,修改完成后,点击【下一步】按钮。

这时候来到了真正的许可发布窗口,如下图所示。选择我们要写入的加密锁,点击下方的【发布】按钮,等待完成发布即可。然后我们就可以通过 Virbox 用户工具查看到对应加密锁中会多了一条许可ID 为2 的许可信息。

功能介绍

上面我们演示了通过开发者管理工具给用户锁发布第一条许可,下面我们将详细介绍各项功能以及对不同许可条款的设置。

产品管理

产品,可以是一个软件,也可以是一组软件,也可以是一个功能。在 Virbox LM 体系中,产品对应的就是许可,产品ID就是许可ID。通常情况下,我们默认一个软件就是一个产品,产品就相当于是我们要发布的软件,而许可ID 就是对应软件的唯一ID,软件发布时,需要和许可ID 做唯一性的关联。

在创建产品时,一些概念我们需要了解一下。

名称描述可选/必填
产品名称产品的名称。为了方便管理,请在工具上填写详细的产品名称必填项
产品版本您自己的产品版本,可以在工具上填写对应版本可选项
许可ID产品的唯一ID,软件加密和授权管理的关联方式,支持范围0 ~ 4,294,967,295。必填项必填项
许可版本产品记录在锁内的版本,无关正式产品版本,可默认为0,必填项必填项

只读区

读写区

公开区

详细描述请参考 Virbox LM 的许可体系 

设置大小:通过工具设置数据区大小和数据区内容

导入数据:通过外部文件导入数据区内容

锁定:锁定后,模板中不得再次编辑数据区

可选项

模板/授权

我们通常在售卖产品的时候,会根据不同的应用场景可使用方式,制定不同的售价,因此同一个产品,不同的售价,通过模板就可以轻松的进行管理。我们创建一个销售模板,根据不同的产品售卖形式创建不同的许可条款,同时通过模板来发布一条许可。

名称描述可选/必填
模板名称模板的名称。为了方便管理,请填写详细的模板名称必填项
许可类型许可的操作类型,有添加、更新、删除三种类型,分别对应向加密锁中添加、更新、删除一条许可必填项
强制写入

仅添加许可有效。

勾选后,若锁内存在该许可,则删除并重新添加;

不勾选,若所内存在改许可,则返回“许可已存在”的错误提示

可选
永久许可选中后,时间、次数、跨度等选项不可选。永久许可表示软件可以无限制的使用可选
并发方式

选择许可是否可以多进程或多终端访问

单机:表示当前许可仅能在本地使用

网络:进程并发表示最多支持的进程数量;会话并发,表示最多支持的终端数量

必填项,可默认
开始时间

许可的开始使用时间,早于此时间,许可无法使用。

可选
结束时间许可的结束使用时间,超过此事件,许可无法使用可选
时间跨度许可的可使用时间范围,超出范围,许可无法使用可选
使用次数许可最多可访问的次数,超出次数,许可无法使用可选

只读区

读写区

公开区

参考上文描述可选
子模块区勾选子模块区,选择【编辑】,可以为许可添加最多64个功能模块可选

我们可以看到,当选择“许可类型”为【更新】时,许可条款后面的操作项可以有多种选择。这里介绍一下操作项。

操作描述
设置表示此条款值为赋值项,例如“设置开始时间为 2020-01-01 00:00:00”
追加表示在此条款的基础上,追加一段时间或次数,例如 追加100 天使用时长
减少表示在此条款的基础上,减少一段时间或次数,例如 减少10 天使用跨度
禁用表示禁用当前许可条款,例如禁用次数限制

产品包管理

为方便多条许可的发布,我们提出产品包的概念,您可以添加多条许可在一个产品包里,然后一次性升级多条许可到用户锁中。这里我们创建两个产品,贪吃蛇II和吃豆人,然后创建一个名为“游戏大全”的产品包,产品包中包含两个产品的授权模板,这个产品包就包含了两条许可信息,发布的时候会同时发布两条许可。

许可查看

许可查看功能是可以查看到您已经发布的所有许可的信息,方便您对已经发布的许可进行管理。

产品包更新

产品包更新是指可以指定某个已经发布过的产品包,对其进行更新操作。

加密锁管理

加密锁管理中可以看到已经发布过许可的加密锁信息。

备份和导入

加密锁信息会存储在一个本地的数据库中,可以对数据库文件进行定期备份,以防数据丢失。另外,我们的生产可以导入生产数据,将加密锁信息导入到本地的数据库中,这样即便加密锁不在手中也可以对其签发许可,生产数据可联系 技术服务人员 获得。

许可配置

这里将描述各种许可的配置方式,许可条款的配置从产品一层已经开始,例如许可ID是必须在创建产品的时候创建的,三区数据也可以在创建产品时添加。然后,在创建模板的时候可以配置更详细的参数,当许可发布的时候也可以对一些参数进行调整。这里从模板层面讲解常见的许可条款配置方法。

提示

所有的许可条款都是可以组合设置的 ,开发者可以对下面的条款限制进行组合设置,来达到不同的销售策略。

永久许可

有些软件是一次购买,终身使用的,这种情况下我们不需要对软件的使用期限做任何的限制,这样,我们只需要签发一条永久许可,永久许可表示软件的使用不受时间、次数的限制。但是我们依然可以限制软件的功能模块、数据区等条款。

在创建模板时,只需要将“永久许可”这一项勾选,当前许可模板将被配置为永久许可。如下图所示。

关于强制写入

上图中的“强制写入”是一个升级选项。在添加一条许可时,若勾选“强制写入“选项,当加密锁中已经存在当前许可ID的许可时,则强制覆盖已有许可;否则将提示“许可已经存在”的错误。下同。

限制开始时间的许可

有些软件,例如考试类别的软件,需要限制软件的最先开始的使用时间,保证软件在此时间之前不能使用。

设置限制开始时间的许可,只需要在编辑模板或者发布许可的时候,勾选【开始时间】,然后在后面设置一下具体的开始日期和时间即可。如果不设置,许可将随时可以开始使用。

限制结束时间的许可

限制许可的结束时间,是一种常用的软件限制方法,绝大多数软件都是希望软件在一定期限内试用有效,超过期限无效,例如订阅式软件,一年的订阅时长,一年后失效;又列如,大型设备软件,需要有尾款需要回收,那么软件可以限制使用期限,知道尾款完全收回。

在设置许可的结束时间时,我们只需要在编辑模板或者发布许可的时候,要勾选【结束时间】,并在后面设置具体的结束日期和时间即可完成设置。

限制时间跨度的许可

勾选【时间跨度】并设置使用时长,使用时长的单位可以是天,也可以是秒,开发者根据实际需求进行设置。

限制使用次数的许可

勾选【使用次数】设置许可的最大访问次数。

网络许可

我们将“并发方式”由【单机】改为【网络】,即可签发网络许可,网络许可的并发类型可以是【进程】或者【会话】,具体描述请参考 Virbox LM 的许可体系,然后设置并发数即可。

更新许可

很多时候,我们需要对已经存在加密锁中的许可进行更新,例如,软件采用订阅式购买,订阅期限到期了后,用户付费续订,那么我们只需要给用户签发一条更新许可包,即可将原有加密锁中的许可条款进行更新,所有的许可条款都是可以更新的。

我们只需要在发布许可的时候,将许可类型改为【更新】即可更新一条许可。

删除许可

当一条许可已经不再使用,或者开发者不希望用户再次使用当前许可,开发者可以签发一个升级包,将当前许可从加密锁中删除。

我们只需要在编辑模板或者发布许可时,将许可类型选择为【删除】,则可以签发一条删除加密锁中当前许可的升级包。

配置三区数据

在产品管理中,我们可以编辑数据区的数据,下面是各操作的介绍

【设置大小】可以设置数据区的大小,然后我们可以直接在操作界面中对数据进行手动编辑,如下图所示。

【导入数据】通过本地文件导入数据,大小是文件数据大小,不超过64kb。

【锁定】功能表示当前数据区是否允许在“创建模板”或者“发布许可”的是否进行临时修改。如果选择锁定,则不允许修改;否则可以临时修改。

配置许可模块区

勾选【子模块区】,再点击【编辑】按钮,会弹出【编辑模块区】对话框,在这里选择我们需要用到的模块区,则许可将限制模块区使用。

锁定/解锁/删除所有许可

在模板/授权功能区,您可以看到有如下图红色方框内的模板:锁定所有许可、解锁所有许可、删除所有许可。开发者管理工具提供此类许可模板,是方便开发者对用户锁进行管理。当用户在使用软件时存在一定的异常时,开发者就可以通过签发此中类型的升级包,对用户锁进行全面许可的管理。

锁定所有许可:是指将锁内所有可用许可锁定,软件将无法访问锁内任何许可。

解锁所有许可:针对锁定所有许可,解锁后锁内许可将可以继续使用。

删除所有许可:是指删除锁内所有可用个、不可用许可。

客户端配置

在实际应用中,我们经常会在多台机器上去管理和签发许可,但是如何让这些本地配置的产品、模板和签发的许可信息之间进行同步?开发者管理工具提供了服务端和客户端模式,将一台机器作为服务端,将其他台机器作为客户端,这样可以保证所有数据最终都会写入在服务端,然后我们定期对服务端的数据进行备份,可以非常方便的对加密锁或许可数据进行管理。如何配置客户端,这里我们需要进行一些简单的操作。

首先,选定一台机器作为服务端,记录其 IP地址。

然后,对客户端机器进行配置,打开 开发者管理工具 的安装路径,如果您是默认路径安装的 Virbox SDK 工具盒,那么路径一般为: C:\Program Files (x86)\senseshield\sdk\Tool\LicMgr ,如下图所示:

然后,我们打开 config.txt 文件(注意,是 config.txt,上图红色框框圈住的文件,不是 config.ini),找到 service_url 选项,将选项值的 IP地址,更换为服务端的 IP地址,然后保存配置,如下图所示:

注意

只修改 IP 地址部分,其他如端口号等不需要修改

最后,打开客户端机器的 系统服务管理,找到 DataService 服务并重启服务,然后重启 开发者管理工具,工具将可以访问服务端的数据。如下图所示。

视频教程

小结

开发者管理工具是开发者自主部署加密锁签发工具的有效方式,开发者无需在自主开发写锁工具,用开发者管理工具可以省去很多时间。