根据公司需求做的demo,产品多为jar包、war包,对比客户端做授权灵活性较弱,以后做成SDK封装到产品中
- machine-generate
- jar包,在产品运行机器上生成机器码
- license-server
- 生成license证书 - license.lic
- license-client
- 验证license证书
- 使用keytool工具生成非对称性密钥对,私钥签名加密、公钥解密
- 采集机器硬件信息(mac地址、cpu序列、主板序列、硬盘序列),限制程序运行机器
- 定义授权起始时间,对网络时钟、系统时钟、配置文件时间同步验证,完成授权需求
- 使用truelicense开源证书管理引擎,生成授权证书
- 对license业务代码混淆加密,防止反编译跳过、替换验证过程