使用class-final给JAR/WAR包加密

使用class-final给JAR/WAR包加密

官方文档

https://gitee.com/roseboy/classfinal?_from=gitee_search#%E6%9C%BA%E5%99%A8%E7%BB%91%E5%AE%9A

加密流程

注:执行命令的jar/war包文件不能在有中文的目录下,会加密失败

加密命令:java -jar classfinal-fatjar-1.2.1.jar -file xxx.jar -packages com -pwd 123456 -Y

结果: 生成 yourpaoject-encrypted.jar,这个就是加密后的jar文件;加密后的文件不可直接执行,需要配置javaagent。

参数说明
-file        加密的jar/war完整路径
-packages    加密的包名(可为空,多个用","分割)
-libjars     jar/war包lib下要加密jar文件名(可为空,多个用","分割)
-cfgfiles    需要加密的配置文件,一般是classes目录下的yml或properties文件(可为空,多个用","分割)
-exclude     排除的类名(可为空,多个用","分割)
-classpath   外部依赖的jar目录,例如/tomcat/lib(可为空,多个用","分割)
-pwd         加密密码,如果是#号,则使用无密码模式加密
-code        机器码,在绑定的机器生成,加密后只可在此机器上运行
-Y           无需确认,不加此参数会提示确认以上信息

JAR运行

java -javaagent:xxx-encrypted.jar -jar xxx-encrypted.jar

生成机器码命令

java -jar classfinal-fatjar-1.2.1.jar -C

机器码启动

java -jar classfinal-fatjar-1.2.1.jar -file xxx.jar -packages com -pwd 123456 -code 48B05D2FA3FE324B30561703BB3424CCD41D8CD98F00B204E9800998ECF8427ED41D8CD98F00B204E9800998ECF8427E -Y

tomcat中运行加密后的JAR

将加密后的war放在tomcat/webapps下, tomcat/bin/catalina.bat 增加以下配置:

//linux下 catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -javaagent:classfinal-fatjar.jar='-pwd 0000000'";
export CATALINA_OPTS;

//win下catalina.bat
set JAVA_OPTS="-javaagent:classfinal-fatjar-1.2.1.jar= -nopwd"
将classfinal-fatjar-1.2.1.jar放到bin目录下


//参数说明 
// -pwd      加密项目的密码  
// -nopwd    无密码加密时启动加上此参数,跳过输密码过程
// -pwdname  环境变量中密码的名字

windows中检测是否配置成功,可以启动 tomcat/bin/catalina.bat,如果项目正常启动,配置完成

如果想在Tomcat中以服务的形式启动,那么进入tomcat/bin目录,双击打开tomcat8w.exe,在java启动参数中加入

// 加密jar包的地址位绝对路径
-javaagent:classfinal-fatjar-1.2.1.jar= -nopwd

你可能感兴趣的:(使用class-final给JAR/WAR包加密)