1、License模块类图设计开一个线程处理license的检查事件,由主线程触发线程license检测,检测结果可以通过共享变量获取,根据其反馈结果做相关处理。
2、生成公钥与私钥对RSA,生成对应公钥与私钥,其公钥用于加密,私钥用于解密。其方法参考如下:
3、加密license内容由公钥生成密文,以文件的形式提供给客户,启动项目后更新license文件;
4、解密license由私钥解密密文后,解析明文成License对象(Mac,开始时间,结束时间,类型,单位等)
5、启动监控模拟主线程启动过程,其流程如下:1. 启动监听程序;2. 加载license文件,并解析,判断时间有效范围;3. 蠕蒜唏怜运行过程,触发license检测,发送license检测事件;4. 读取静态常量,获取其检测结果;
6、线程监控LicenseThread线程等待堵塞状态,由主线程推送License事件触发License的检测