1 Truelicense是什么

TrueLicense是一个开源的证书管理引擎,可以用于license的生成和有效性的验证。

使用场景:当项目交付给客户之后用签名来保证客户不能随意使用项目,默认校验了开始结束时间,可扩展增加mac地址校验等。

2 准备工作

1下载springboot-license.zip包

地址:https://download.csdn.net/download/qq_34281865/86747260

说明:keystore私匙库的有效期到2122年

2 初始化目录

系统环境新建目录
WindowsD:/home/license
Linux/home/license

将springboot-license.zip解压到新建目录下面。

3 生成license文件

1 启动license-generate-project-1.0.0.jar

进入jar目录,执行java -jar license-generate-project-1.0.0.jar

2 调用生成证书接口

输入参数:证书有效期(单位:天)、物理地址(MAC)、证书项目名称

输出结果:license.zip(将该压缩包解压到初始化目录下面)

4 实现license验证

以下操作均以Windows环境为例,Linux环境也类似。(修改spring.profiles.active值即可)

1 修改配置文件

2 增加Maven依赖

3 增加license相关类

4 物理地址(MAC)验证

测试前置条件:

生产者物理地址(MAC)
调用生成证书接口3C-16-DB-A7-4F-CA
本地电脑2C-16-DB-A7-4F-CA

测试步骤:

进入jar目录,执行java -jar license-demo-project-1.0.0.jar

测试结果:

5 证书有效期启动验证(超过有效期)

测试前置条件:

生产者时间
证书有效期2022-10-11 13:30:13至2022-10-21 23:59:59
本地电脑2022-11-11 13:30:13

测试步骤:

进入jar目录,执行java -jar license-demo-project-1.0.0.jar

测试结果:

启动失败,如下图:

6 证书有效期启动验证(符合有效期)

测试前置条件:

生产者时间
证书有效期2022-10-11 13:30:13至2022-10-21 23:59:59
本地电脑2022-10-11 13:30:18

测试步骤:

进入jar目录,执行java -jar license-demo-project-1.0.0.jar

测试结果:

启动成功,如下图:

7 证书有效期访问验证(超过有效期)

测试前置条件:

生产者时间
证书有效期2022-10-11 13:30:13至2022-10-21 23:59:59
本地电脑2022-11-11 13:30:13

测试步骤:

  1. 在符合证书有效期的条件下,成功启动license-demo-project-1.0.0.jar

  2. 修改本地电脑时间为2022-11-11 13:30:13,然后访问接口(获取请求IP)

测试结果:

访问失败,如下图:

8 防止手动修改本机时间,影响证书有效期的限制

5 源码位置

个人交流Q:772182648
以上是本人自己总结,并且在项目中实际用到的。新手一枚,不喜勿喷!

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐