大家好,我是热心的大肚皮,皮哥。
在工作中,会经常遇到项目部署到客户环境去运行,大家肯定不希望具有技术实力的客户在项目上做任何花操作,那么怎么保证我们的版权呢。
license
license服务
启动需判断是否启用license,如果启用则需要获取license证书
license证书构建步骤
使用java keytool 生成私钥
keytool -genkeypair -keysize 1024 -validity 3650 -alias SNMS_ESCROW_LICENSE -keystore privateKeys.keystore -storepass 12345678A -keypass 12345678A -dname "CN=teleinfo, OU=teleinfo, O=teleinfo, L=BJ, ST=BJ, C=CN"
参数说明:
导出证书
keytool -exportcert -alias SNMS_ESCROW_LICENSE -keystore privateKeys.keystore -storepass 12345678A -file certfile.cer
参数说明:
导入证书文件
keytool -import -alias SNMS_ESCROW_LICENSE -file certfile.cer -keystore publicCerts.keystore -storepass 12345678A
注意:
调用代码生成license.lic文件
LicenseCreateUtil中的main方法
注意:
此时生成了生成了4个文件
修改yml
此时就可以启动了。
项目是spring boot2.3.2版本,实现ServletContextListener初始化方法时进行项目校验,如校验失败则项目终止。
源码地址
https://github.com/eagernessbigbelly/footstone/tree/main/common/src/main/java/cn/footstone/license