Tomcat Webアプリケーションを保護する

はじめにビデオ

▶️ YouTube

▶️ Bilibili

ダウンロード

訪問https://protector4j.com/download最新バージョンをダウンロードする

インストール

ウィンドウズと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 ファイルを選択します。1 つまたは複数を選択できます。

オプション

jarファイルのみを暗号化する

jre 全体をデプロイせずに、jar ファイルのみを暗号化します。このオプションは通常、既存のプログラムを更新するために KeySeed 機能と組み合わせて使用されます。

出力

Javaバージョンの選択

Java 8、Java 11、Java 17、およびJava 21をサポートするJavaバージョンを選択してください

新しいフォルダを作成する

デフォルトで選択されている場合、暗号化タスクは出力フォルダーに p4j-[タスク 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 ターゲット プラットフォーム上で、最初の起動前にプログラムに実行権限を付与します。