CodeMeter Java 加密
WIBU
2021-01-07
1.准备工作
说明
安装包中包含自动加密工具AxProtector和授权工具License Editor,通常我们都使用AxProtector加密工具的图形界面来加密程序,由于JAVA需要调整较多参数,为方便用户,威步制作了一个批处理程序,通过修改配置XML即可进行快速加密。
Encrypt.bat
和AxProtector.xml
,如果您没有这些文件,请联系威步技术人员获取。2.配置加密参数
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AxProtectorJava xmlns:wibu="http://wibu.com/2013/AxpJavaControlFile/1.0">
<CommandLine>
<Command>-kcm</Command>
<Command>-f6000010</Command>
<Command>-p13</Command>
<Command>-cf0</Command>
<Command>-d:6.20</Command>
<Command>-fw:3.00</Command>
<Command>-sl</Command>
<Command>-nn</Command>
<Command>-u:com.wibu.xpm.MessageHandler</Command>
<Command>-ci</Command>
<Command>-jos</Command>
<Command>-jff:c</Command>
<Command>-jcp:"F:\lib\"</Command>
<Command>-wu0</Command>
<Command>-jh:n</Command>
<Command>-we0</Command>
<Command>-eac</Command>
<Command>-eec</Command>
<Command>-v</Command>
<Command>-o:"F:\protected\test.jar"</Command>
<Command>"F:\test.jar"</Command>
</CommandLine>
<Wupi>
<Jar EntryPoint="true" ClassProtectionLicenseList="None" MethodProtectionLicenseList="0"></Jar>
</Wupi>
</AxProtectorJava>
<Command>-f6000010</Command>:6000010
为固定测试公司码,购买产品后需替换成正式公司码;(测试时请默认不要修改) <Command>-p13</Command>
: 设置产品码;(测试时请默认不要修改) <Command>-jcp:"F:\lib\"</Command>
: 设置所有依赖包的路径,需要把程序中用到的所有依赖包全都放置到该路径下,否则加密会提示错误。 <Command>"F:\test.jar"</Command>
:设置需要加密的文件名和路径(支持jar,war等格式); <Command>-o:"F:\protected\test.jar"</Command>
:设置文件加密后保存的路径和文件名;说明
如果是普通可执行JAR包(包括Spring-Boot的程序),请去掉参数<Command>-jos</Command>
。
如果是Web程序,则按示例中加上参数<Command>-jos</Command>
。加密成功后的文件夹中除了加密后的JAR文件,另多出一个WibuXpm4JRuntime.jar
文件,请复制到WEB服务器的lib目录下,例如F:\ Tomcat 7.0\lib
。而加密后的JAR包则替换掉原来的JAR包部署在TOMCAT下运行。
3.开始加密
AxProtector.xml
和Encrypt.bat
在同一目录里;Encrypt.bat
开始加密;4.运行程序
说明
加密锁中写入对应的授权才能运行程序,授权即示例里公司码6000010,产品码13这组授权。(具体授权写入操作可参考CodeMeter使用手册授权章节)
WibuXpm4JRuntime.jar
文件,请复制到WEB服务器的lib目录下,例如F:\ Tomcat 7.0\lib
。而加密后的JAR包则替换掉原来的JAR包部署在TOMCAT下运行。5.加密SPRING-BOOT
说明
• JAVA项目中的Spring-boot由于结构特殊,所以需要通过以下步骤来进行加密处理
• 针对Srping-boot的程序加密,请使用另外2个加密配置Encrypt_SpringBoot.bat
和AxProtector_SpringBoot.xml
,可联系威步技术人员获取。
Encrypt_SpringBoot.bat
和AxProtector_SpringBoot.xml
拷贝在同一目录。Encrypt_SpringBoot.bat
,开始加密。AxProtector.log
文件,打开日志在最后几行里显示如下信息则说明加密成功;加密失败则会有Error信息,请联系威步技术人员解决。说明
• 加密锁中写入对应的授权才能运行程序,授权即示例里公司码6000010,产品码13这组授权。(具体授权写入操作可参考CodeMeter使用手册授权章节)
• AxProtector_SpringBoot.xml
里可设置要绑定的授权。
<Command>-f6000010</Command>
<Command>-p13</Command>
6.常见问题解决方法
1. 加密过程中报错找不到依赖类,要求用‘’-jcp‘’参数指定依赖包存放目录。报错截图如下:
解决办法:
D:\test\lib
下,然后在上述XML文件中加入参数<Command>-jcp:"D:\test\ lib"</Command>
;-jcp
参数指定这个目录。
2. 加密过程中报错有重名的class或者文件 。报错如下:
解决办法:
请先把该jar在其他目录里保存复制一份
),然后打开后找到重复的名字的class,删除掉后重新加密。加密完成之后请把原始未删除的jar再覆盖回去。Encrypt_SpringBoot.bat
进行修改,在参数tfJar
后面把报错的jar名字添上,然后保存退出,再执行该bat进行加密则不会再报错。