license控制
需求:
通过license对某些功能进行限制,达到使用次数或使用时长后禁止功能的使用。
设计:
初阶版本:
1、使用jdk的keytools生成秘钥库,秘钥库中包含证书,通过证书的有效期来限制功能的使用;而秘钥库的访问密码则是唯一的保障。
进阶版:
1、使用jdk的keytools生成一对公私秘钥。
2、使用XML格式自定义定义自己需要的限制条件,例如:
<license>
<from>20180101000000</from>
<untils>20180331235959</untils>
</license>
3、使用私钥对xml数据进行加密,与公钥和程序放在一起
4、公钥对加密后的数据进行解密,并解析内容进行判断