一种软件license授权设计案例

一种软件license授权设计案例

整体设计思路

license服务器端:
--负责根据客户端systemSign颁发证书。
--使用dom4j生成lic.xml证书
--使用AES对xml关键节点进行数据加密
--lic证书生成时设定信息包括:
-----客户端systemSign
-----生效起始时间
-----生效截止时间
-----上一次校验时间
-----项目版本号
-----license文件生成路径

license客户端:
--负责生成systemSign客户端系统签名
--证书检验/定时验证/自助更新(手动替换)
--API管控(无lic证书,则无法访问系统功能API)
--证书校验逻辑:
-----lic.xml文件存不存在
-----解析xml是否异常!
-----解密signature签名是否成功
-----解析版本号、lic生成时间、lic过期时间、上一次校验时间
-----校验本机app版本号与license版本号是否不一致
-----校验mac地址与本机是否一致
-----校验cpu序列号与本机是否一致
---证书过期判定:
------上次校验时间 大于当前系统时间
------lic证书生成时间 大于当前系统时间
------lic证书过期时间 小于当前系统时间

需要引入的依赖

 		<dependency>
            <groupId

你可能感兴趣的:(JavaSE笔记,SpringBoot技术笔记,JavaWeb笔记,License,java,激活,授权,证书,App)