文章目录
- 软件授权文件.lic文件
- 什么是.lic文件
- license适用场景
- 软件License认证方案的设计思路
- license授权机制的原理
- 开源的Springboot-软件授权License
软件授权文件.lic文件
什么是.lic文件
一种软件授权文件格式,license文件,用于程序限制用的。这是很多商业软件使用的一个授权文件,就是说通过正常的安装程序就能得到。
License证书:
根据客户服务器硬件信息(MAC地址、IP地址、CPU序列号、主板序列号)生成授权证书,同时可以给授权证书设置生效时间与失效时间。
license适用场景
- 非开源产品、商业软件、收费软件。
- 限制产品的传播性,每个客户拥有专属 License。
- 同一款软件发行包根据 License 的不同提供不同的服务能力。
- 限定软件授权时效
软件License认证方案的设计思路
销售license是商业软件的贯用商业模式。用户向商家购买软件安装盘搭载license许可,才可以使用该软件。
一般证书授权是以业务上功能模块去去授权的。有时候一个功能模块对应多个菜单。而且菜单是易变的,因此,一般证书授权,我们证书授权信息里面我们一般就只有功能模块,没有菜单。
我们的业务代码上,可以有一个菜单的和模块的映射关系。后台可以根据情况,去改动这种映射关系。
当然,你也可以授权证书存储菜单,直接以菜单维度授权。
总结:就是我们的证书授权文件是以功能维度去授权,存储的一般是功能模块。至于我们的菜单或者具体的业务操作与模块的关系,我们解耦到后台去处理。
license授权机制的原理
(1)生成密钥对,包含私钥和公钥。
(2)授权者保留私钥,使用私钥对授权信息诸如,可以使用的模块或菜单、使用截止日期,mac 地址等内容生成 license 签名证书。
(3)公钥给使用者,放在代码中使用,用于验证 license 签名证书是否符合使用条件。
开源的Springboot-软件授权License
Springboot-软件授权License
参考URL: https://cloud.tencent.com/developer/article/2112192
smart-license v1.0.4 发布,为软件提供授权的工具
参考URL: https://www.oschina.net/news/142571/smart-license-1-0-4-released
License:通过 smart-license 生成的授权文件,导入至要授权使用的软件产品中。
源数据:需要进行 License 加工处理的基础数据。例如,将软件产品运行的配置文件作为源数据,经由 smart-license 授权处理后生成 License 文件。
License 源文件:生成 License 的同时,会自动产生一份文件用于记录:源数据,授权时间,过期时间,秘钥对等信息。由软件授权方持有,当客户遗失 License 文件之后可以根据 License 源文件重新生成 License。
开源,代码完全公开,License的生成原理是透明的。
易用,提供二进制包,直接基于命令行生成 License。
安全,生成的 License 在一定程度上具备防篡改能力,激活成功教程难度大。
安全加固,采用非对称加密方式对 License源数据 进行预处理,防止伪造License。