https://gitee.com/pingfanrenbiji/lic-auth
利用jdk keytool工具生成证书
keytool -genkeypair -keysize 1024 -validity 3650 -alias "秘钥别名" -keystore "秘钥库名称.keystore" -storepass "秘钥库口令" -keypass "秘钥口令" -dname "cn=localhost, ou=localhost, o=localhost, l=sh, st=sh, c=cn"
注意:所有口令必须包含字母数字
eg:
keytool -genkeypair -keysize 1024 -validity 3650 -alias "privatekey" -keystore "privatekeys.keystore" -storepass "deepglint_store_pwd123" -keypass "deepglint_key_pwd123" -dname "cn=localhost, ou=localhost, o=localhost, l=sh, st=sh, c=cn"
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/id7ezrjm.jpg)
生成了私钥文件 privatekeys.keystore
利用jdk keytool工具导出证书文件
keytool -exportcert -alias "秘钥别名" -keystore "秘钥库名称.keystore" -storepass "秘钥库口令" -file "证书名称.cer"
eg:
keytool -exportcert -alias "privatekey" -keystore "privatekeys.keystore" -storepass "deepglint_store_pwd123" -file "certfile.cer"
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/y2fvwa3h.jpg)
生成证书
利用jdk keytool工具将证书文件导入到证书库中
keytool -import -alias "别名" -file "证书名称.cer" -keystore "秘钥库名称.keystore" -storepass "秘钥库口令"
eg:
keytool -import -alias "publiccert" -file "certfile.cer" -keystore "publiccerts.keystore" -storepass "deepglint_store_pwd123"
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/g5zryglv.jpg)
将证书文件导入证书库
启动lisence-server服务
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/dmcka592.jpg)
获取服务器信息
http://127.0.0.1:10000//getserverinfos
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/a2t72kwk.jpg)
有mac地址、ip地址、cpu序列号、主板序列号
生成证书
http://127.0.0.1:10000/license/generatelicense
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/2ut176y6.jpg)
配置证书和公钥文件
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/ghn3dunc.jpg)
启动服务安装证书
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/im7tex2i.jpg)
安装的过程:读取证书中的服务器信息,然后读取真实的服务器信息,比对是否一致,并且验证是否在有效期内,若一致则安装成功,若不一致,则安装失败。
信息比对的过程在这里
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/npkziy7j.jpg)
证书安装成功之后,访问服务中的接口,浏览器访问http://127.0.0.1:10001//auth/api/1.0/getuserinfo
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/5s6l0n2b.jpg)
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/r3yh10ol.jpg)
在拦截器中添加校验的逻辑,校验的逻辑和证书安装的时候校验过程是一样的。
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/2f2ufrwv.jpg)
通用的校验类licenseverify,其子类customlicensemanager中实现自定义的校验逻辑,比如服务器硬件信息校验,比如业务校验: 在线用户数校验
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/nwqgfa9c.jpg)
父类中封装了共有的校验逻辑,比如有效期校验
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/bbnwdyji.jpg)
在拦截器中做校验即校验通过,才可访问其中的服务。
编写server的镜像文件
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/gbzr6urc.jpg)
把jar包和密钥证书加载进镜像
生成镜像
docker build -t 127.0.0.1:5000/lic-auth/lic-auth-server:1.0
上传到景象仓库
docker push 127.0.0.1:5000/lic-auth/lic-auth-server:1.0
编写k8s pod文件
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/bovmxeop.jpg)
编写k8s svc文件
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/lw3up08o.jpg)
启动服务
kubectl apply -f .
查看服务启动情况
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/anw0volp.jpg)
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/gk4fukws.jpg)
查看证书文件
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/trejdla8.jpg)
查看server服务的端口
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/xt64i2d9.jpg)
生成证书
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/3t7ke8oz.jpg)
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/hk6qr0ae.jpg)
将生成好的证书复制到宿主机上
kubectl cp lic-auth-server-6dcd66c7d-vq5qb:license.lic -n xibaoxiao-chuangxin ./license.lic
将该证书文件放入待安装的服务中
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/3364m7vj.jpg)
将证书和公钥文件载入镜像
并指定访问路径
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/hn7fa1im.jpg)
编译镜像
docker build -t 127.0.0.1:5000/lic-auth/lic-auth-client:1.0 .
pod yaml文件
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/87vx9ank.jpg)
svc yaml文件
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/yk0l6sui.jpg)
启动服务
kubectl apply -f
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/zi2sbglu.jpg)
证书安装成功
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/cr54mi4q.jpg)
查看访问端口
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/pf2d520g.jpg)
http://127.0.0.1:30011//auth/api/1.0/getuserinfo
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/uo07zred.jpg)
源码
https://gitee.com/roseboy/classfinal.git
生成该插件jar包放入本地仓库或私服中
`待混淆的项目的pom文件中引入该插件包
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/b8q2m6p4.jpg)
classfinal.version 使用刚刚打包定义的版本号
- password 加密密码
- packages 哪个package下面的代码做混淆
- cfgfiles 哪个配置文件做混淆
- debug 混淆的过程 debug模式 可以看到更多插件包中的日志信息
- excludes 哪个package包下面的代码不做混淆
- libjars jar/war lib目录下的哪些jar包不做混淆
打包结果之后,就可以看到混淆之后的jar包了
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/kgemru06.jpg)
反编译之后 就可以看到 代码被混淆了
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/bo1tr7od.jpg)
启动jar包
java -javaagent:galaxy-bpm-service.jar='-pwd pingfanrenbiji' galaxy-bpm-service.jar
当然也可以在镜像中启动,编写镜像文件
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/mf76zev2.jpg)
![license licence 英国 美国(license与license区别)](/uploads/image/wu206/gs527jnm.jpg)
##(2022-06-19 19:05:29)
![](/uploads/image/wfwu212/stx859.gif)
如若转载,请注明出处:https://www.dasum.com/75745.html