license licence 英国 美国(license与license区别)

源码

https://gitee.com/pingfanrenbiji/lic-auth

利用jdk keytool工具制作证书

利用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区别)

生成了私钥文件 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区别)

生成证书

利用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区别)

将证书文件导入证书库

生成lisence

启动lisence-server服务

license licence 英国 美国(license与license区别)

获取服务器信息

http://127.0.0.1:10000/license/getServerInfos
license licence 英国 美国(license与license区别)

有MAC地址、IP地址、CPU序列号、主板序列号

生成证书

http://127.0.0.1:10000/license/generateLicense
license licence 英国 美国(license与license区别)

安装lisence

配置证书和公钥文件

license licence 英国 美国(license与license区别)

启动服务安装证书

license licence 英国 美国(license与license区别)

安装的过程:读取证书中的服务器信息,然后读取真实的服务器信息,比对是否一致,并且验证是否在有效期内,若一致则安装成功,若不一致,则安装失败。

信息比对的过程在这里

license licence 英国 美国(license与license区别)

lisence校验

证书安装成功之后,访问服务中的接口,浏览器访问http://127.0.0.1:10001//auth/api/1.0/getUserInfo

license licence 英国 美国(license与license区别)

license licence 英国 美国(license与license区别)

在拦截器中添加校验的逻辑,校验的逻辑和证书安装的时候校验过程是一样的。

license licence 英国 美国(license与license区别)

通用的校验类LicenseVerify,其子类CustomLicenseManager中实现自定义的校验逻辑,比如服务器硬件信息校验,比如业务校验: 在线用户数校验

license licence 英国 美国(license与license区别)

父类中封装了共有的校验逻辑,比如有效期校验

license licence 英国 美国(license与license区别)

在拦截器中做校验即校验通过,才可访问其中的服务。

将上面2个服务部署到k8s中

编写server的镜像文件

license licence 英国 美国(license与license区别)

把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区别)

编写k8s svc文件

license licence 英国 美国(license与license区别)

启动服务

kubectl apply -f .

查看服务启动情况

license licence 英国 美国(license与license区别)

license licence 英国 美国(license与license区别)

查看证书文件

license licence 英国 美国(license与license区别)

查看server服务的端口

license licence 英国 美国(license与license区别)

生成证书

license licence 英国 美国(license与license区别)

license licence 英国 美国(license与license区别)

将生成好的证书复制到宿主机上

kubectl cp lic-auth-server-6dcd66c7d-vq5qb:license.lic -n xibaoxiao-chuangxin ./license.lic

将该证书文件放入待安装的服务中

license licence 英国 美国(license与license区别)

将证书和公钥文件载入镜像

并指定访问路径

license licence 英国 美国(license与license区别)

编译镜像

docker build -t 127.0.0.1:5000/lic-auth/lic-auth-client:1.0 .

pod yaml文件

license licence 英国 美国(license与license区别)

svc yaml文件

license licence 英国 美国(license与license区别)

启动服务

kubectl apply -f
license licence 英国 美国(license与license区别)

证书安装成功

license licence 英国 美国(license与license区别)

查看访问端口

license licence 英国 美国(license与license区别)

http://127.0.0.1:30011//auth/api/1.0/getUserInfo
license licence 英国 美国(license与license区别)

代码混淆

源码

https://gitee.com/roseboy/classfinal.git
生成该插件jar包放入本地仓库或私服中

`待混淆的项目的pom文件中引入该插件包

license licence 英国 美国(license与license区别)

classfinal.version 使用刚刚打包定义的版本号
  • password 加密密码
  • packages 哪个package下面的代码做混淆
  • cfgfiles 哪个配置文件做混淆
  • debug 混淆的过程 debug模式 可以看到更多插件包中的日志信息
  • excludes 哪个package包下面的代码不做混淆
  • libjars jar/war lib目录下的哪些jar包不做混淆

打包结果之后,就可以看到混淆之后的jar包了

license licence 英国 美国(license与license区别)

反编译之后 就可以看到 代码被混淆了

license licence 英国 美国(license与license区别)

启动jar包

java -javaagent:galaxy-bpm-service.jar='-pwd pingfanrenbiji'  galaxy-bpm-service.jar

当然也可以在镜像中启动,编写镜像文件

license licence 英国 美国(license与license区别)

license licence 英国 美国(license与license区别)


###(2022-06-19 19:05:29)

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 sumchina520@foxmail.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.dasum.com/75745.html