保护 Tomcat Web 应用程序
入门视频
下载
访问 https://protector4j.com/download 下载最新版本
安装
Windows 和 Linux
没有特殊的安装步骤,只需下载档案并解压即可。
macOS
下载 dmg 文件并将 Protector4J 拖到 Applications
。此工具的实际内容是 /Applications/Protector4J.app/Contents/protector4j-mac
使用 GUI 工具加密 Tomcat Web 应用程序
进入 Protector4J 文件夹,执行 p4j-ui[.exe] ,您将看到以下用户界面。
对于 macOS 用户,只需像常规 Mac 应用程序一样双击 Protector4J.app。
登录
如果您已经购买了许可证,请点击右上角的登录按钮并输入您的用户信息。如果您没有许可证,仍然可以试用此工具。
选择申请类型
点击应用程序类型页面上的“Tomcat Web 应用程序”按钮。
选择需要加密的jar/war文件
选择需要加密的jar/war文件,可以选择一个或多个。
选项
仅加密 jar 文件
仅加密 jar 文件,无需部署整个 jre。此选项通常与 KeySeed 功能结合使用,以更新现有程序。
输出
Java 版本选择
选择 Java 版本,支持 Java 8、Java 11、Java 17 和 Java 21
创建新文件夹
默认选择,加密任务会在输出文件夹中创建一个名为p4j-[task-id]的文件,输出结果保存在此文件夹中。
KeySeed
加密任务默认会向服务器请求随机密钥进行加密。不同加密任务生成的文件不能混用。如果指定了 KeySeed,则同一个 KeySeed 将生成相同的加密密钥。此选项可与之前的“仅加密 Jar 文件”选项配合使用,以更新现有应用程序。此选项仅对获得许可的用户有效。
执行加密任务
请等待一段时间,加密任务完成后,您可以在输出文件夹中看到加密应用程序的输出。
运行加密的应用程序。
转到输出文件夹,然后转到 tomcat/bin
, 执行 startup.sh
或者 startup.bat
启动应用程序。
哪里 META-INF/classes
您可以在 webapps 文件夹中找到您的应用程序,但原来的 WEB-INF/classes 已经不存在了。为了保护应用程序的结构,防止外部用户访问类名等信息,我们将 WEB-INF/classes 打包成了 WEB-INF/vlxapp.jar。这是我们私有的加密 jarx 格式。
注意事项
如果该程序的目标平台是 macOS 或 Linux,但它是在 Windows 上构建的,请运行 add-executable-permission.sh
在目标平台上,在首次启动之前授予程序执行权限。
使用 CLI 工具加密 Tomcat Web 应用程序
配置文件
CLI工具需要指定一个任务文件作为参数。
寻找 tomcat-task.yml
在 protector4j/task-templates
文件夹,复制并修改。
# Available values: 8,11,17,21
javaVersion: 8
# Available values: 9,10
tomcatVersion: 9
# The war files that need to be encrypted
warFiles: []
# Only encrypt the jar files, do not deploy the runtime
# This option is used while upgrading an existing application
onlyEncryptJarFiles: false
## [ Output Options ]
# The output folder
outputFolder: ''
# Create a new and unique folder for the application, the folder name is like p4j-<taskId>
createNewFolder: true
# Fixed key seed, only avaiable for licensed user
# Jars encrypted in different tasks can be used together with same key seed
keySeed: ''
# The target platforms, available values: [win, linux, mac] or emtpy for current platforms
# if you need the support for win32, linux32 and linux-aarch64, the addon need to be purchased, please visit https://protector4j.com/addons
platforms: []
执行加密任务。
转到 Protector4J 文件夹并执行以下命令。
Linux 或 macOS
对于 macOS 用户,您可以在以下位置找到 CLI 工具 Protector4J.app/Contents/protector4j-mac
。
./p4j -t tomcat -f path-of-task-file
在 Windows 上
p4j -t tomcat -f path-of-task-file
您可以执行 p4j --help
查看详细参数。
使用帐户信息运行
./p4j -t tomcat -f path-of-task-file -u email -p password
查看结果
加密任务完成后,请到输出文件夹检查结果。
运行加密的应用程序。
转到输出文件夹,然后转到 tomcat/bin
, 执行 startup.sh
或者 startup.bat
启动应用程序。
哪里 META-INF/classes
您可以在 webapps 文件夹中找到您的应用程序,但原来的 WEB-INF/classes 已经不存在了。为了保护应用程序的结构,防止外部用户访问类名等信息,我们将 WEB-INF/classes 打包成了 WEB-INF/vlxapp.jar。这是我们私有的加密 jarx 格式。
注意事项
如果该程序的目标平台是 macOS 或 Linux,但它是在 Windows 上构建的,请运行 add-executable-permission.sh
在目标平台上,在首次启动之前授予程序执行权限。