前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >大话license,看完这个你就懂了

大话license,看完这个你就懂了

作者头像
热心的大肚皮
发布2023-02-28 14:05:43
5500
发布2023-02-28 14:05:43
举报

大家好,我是热心的大肚皮,皮哥。

在工作中,会经常遇到项目部署到客户环境去运行,大家肯定不希望具有技术实力的客户在项目上做任何花操作,那么怎么保证我们的版权呢。

license

license服务

启动需判断是否启用license,如果启用则需要获取license证书

license证书构建步骤

使用java keytool 生成私钥

代码语言:javascript
复制
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"

参数说明:

  • keysize 密钥长度
  • validity 私钥的有效期(单位:天)
  • alias 私钥别称
  • keystore 指定私钥库文件的名称 (生成在当前目录)
  • storepass 指定私钥库的密码 (keystore 文件存储密码)
  • keypass 指定别名条目的密码 (私钥加解密密码)
  • dname 证书个人信息
    • CN 为你的姓名
    • OU 为你的组织单位名称
    • O 为你的组织名称
    • L 为你所在的城市名称
    • ST 为你所在的省份名称
    • C 为你的国家名称

导出证书

代码语言:javascript
复制
keytool -exportcert -alias SNMS_ESCROW_LICENSE -keystore privateKeys.keystore -storepass 12345678A -file certfile.cer

参数说明:

  • alias 私钥别称
  • keystore 指定私钥库文件的名称 (如果没有带路径,在当前目录查找)
  • storepass 指定私钥库的密码
  • file 导出证书文件名称

导入证书文件

代码语言:javascript
复制
keytool -import -alias SNMS_ESCROW_LICENSE -file certfile.cer -keystore publicCerts.keystore  -storepass 12345678A

注意:

  • 生成完成后,将publicCerts.keystore放到resources中certs文件夹中

调用代码生成license.lic文件

LicenseCreateUtil中的main方法

注意:

  • 生成lic证书时需要设置获取当前机器的cpu与mac地址,本地可能出现获取不到的情况,可以写死
  • 修改resources中config文件夹中license配置文件,将licensepath修改为lic的具体路径

此时生成了生成了4个文件

  • certfile.cer 认证证书,已经没用了,可以删掉
  • privateKeys.keystore 私钥,授权者保留,不能泄露
  • publicCerts.keystore 公钥,给客人使用(一般放在验证的代码中使用)
  • license.lic 认证文件,给客人使用

修改yml

  • 服务启动校验开关通过yml中teleinfo.license.need控制
  • 服务请求校验开关通过yml中teleinfo.license.filter控制

此时就可以启动了。

项目是spring boot2.3.2版本,实现ServletContextListener初始化方法时进行项目校验,如校验失败则项目终止。

源码地址

https://github.com/eagernessbigbelly/footstone/tree/main/common/src/main/java/cn/footstone/license

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序猿日常笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档