保护Tomcat Web应用程序

入门视频

▶️ YouTube

▶️ 哔哩哔哩

下载

访问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 8、Java 11、Java 17和Java 21的Java版本

创建新文件夹

默认选中,加密任务会在输出文件夹中创建一个名为 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.ymlprotector4j/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 在目标平台上,用于在首次启动之前授予程序执行权限。