Spring Bootアプリケーションを保護する
はじめにビデオ
ダウンロード
訪問https://protector4j.com/download最新バージョンをダウンロードする
インストール
ウィンドウズとLinux
特別なインストール手順はなく、アーカイブをダウンロードして解凍するだけです。
macOS
dmgファイルをダウンロードして、Protector4JをドラッグしてくださいApplications
。このツールの実際の内容は次のとおりです。/Applications/Protector4J.app/Contents/protector4j-mac
GUIツールを使用してSpring Bootアプリケーションを暗号化する
Protector4Jフォルダに移動し、実行してくださいp4j-ui[.exe], 次のユーザー インターフェイスが表示されます。
macOS ユーザーの場合は、通常の Mac アプリケーションと同様に、Protector4J.app をダブルクリックするだけです。
ログイン
すでにライセンスを購入されている場合は、右上隅のログイン ボタンをクリックし、ユーザー情報を入力してください。ライセンスをお持ちでない場合でも、このツールを試すことができます。
アプリケーションタイプを選択してください
アプリケーションの種類ページで「Spring Boot アプリケーション」ボタンをクリックします。
暗号化する必要があるjar / warファイルを選択してください
暗号化したいjar / warファイルを選択します。1つまたは複数のファイルを選択できます。
オプション
jarファイルのみを暗号化する
jre 全体をデプロイせずに、jar ファイルのみを暗号化します。このオプションは通常、既存のプログラムを更新するために KeySeed 機能と組み合わせて使用されます。
実行可能ファイルを作成する
アプリケーションを起動するための実行可能ファイルを作成します。.exe 拡張子を追加しないでください。
隠されたコンソール
このオプションは Windows 上の GUI プログラムにのみ有効で、プログラムの実行中にコマンド ライン ウィンドウを非表示にするために使用されます。
JVMオプション
-Xmx や -Xms などの JVM オプションをスペースまたは改行で区切って設定します。
出力
Javaバージョンの選択
Java 8、Java 11、Java 17、およびJava 21をサポートするJavaバージョンを選択してください
新しいフォルダを作成する
デフォルトで選択されている場合、暗号化タスクは出力フォルダーに p4j-[タスク ID] という名前のファイルを作成します。出力結果はこのフォルダーに保存されます。
JavaFXを含む
JavaFXアプリケーションの場合は、このオプションを選択してください
SWTアプリケーション
SWT アプリケーションの場合は、このオプションを選択してください。
KeySeed
暗号化タスクは、デフォルトで暗号化のためにサーバーにランダムなキーを要求します。異なる暗号化タスクで生成されたファイルを一緒に使用することはできません。 KeySeed が指定されている場合、同じ KeySeed によって同じ暗号化キーが生成されます。このオプションは、以前の「Jar ファイルのみを暗号化する」オプションと併用して、既存のアプリケーションを更新できます。 このオプションは、ライセンスを取得したユーザーに対してのみ有効です。
暗号化タスクを実行する
暗号化タスクが完了すると、出力フォルダーに暗号化されたアプリケーションの出力結果が表示されます。しばらくお待ちください。
暗号化されたアプリケーションを実行する
暗号化されたアプリケーションを実行する方法は3つあります
- exeファイルで実行する
ターゲット プラットフォームが Windows の場合、暗号化タスク中に生成された実行可能ファイルを使用して、暗号化されたアプリケーションを実行できます。
- スクリプトで実行
ターゲットプラットフォームがLinuxまたはmacOSの場合、名前が付いたスクリプトファイルを見つけることができますexe-name.sh
、このスクリプト ファイルを使用してアプリケーションを実行できます。
- 従来のJavaコマンドでプログラムを実行する
vlxjre/bin/java を使用してプログラムを手動で実行することもできます。このコマンドの形式は通常の Java コマンドと同じです。
出力ディレクトリに vlxjre という名前のフォルダーが表示されます。これはカスタマイズされた JRE であり、暗号化された jar ファイルは vlxlib フォルダーに保存されています。
vlxjre/bin/java -jar vlxlib/xxx.jar
vlxjre/bin/java -cp vlxlib/xxx.jar MainClass
vlxjre/bin/java -cp "vlxlib/*" MainClass
vlxjre/bin/java -Xms512M -Xmx1024m -cp "vlxlib/*" MainClass
Java 8 は現在、vlxjre/bin/java -jar を介した実行をサポートしていません。 vlxjre/bin/java -cp xx MainClass を使用してください。
お知らせ
このプログラムのターゲットプラットフォームがmacOSまたはLinuxであるが、Windows上でビルドされている場合は、次のコマンドを実行してください。add-executable-permission.sh
ターゲット プラットフォーム上で、最初の起動前にプログラムに実行権限を付与します。
exeファイルのJVMパラメータを変更する
ウィンドウズ
exeファイルのJVMパラメータを変更する必要がある場合は、編集してくださいexe-name.json
JArgs 配列の値を変更します。
"JArgs": [
"-DParam1=value1",
"-DParam2=value2"
]
LinuxとmacOS
スクリプト ファイルを開いて、JVM パラメータを追加または変更するだけです。
CLI ツールを使用して Spring Boot アプリケーションを暗号化します。
設定ファイル
CLI ツールはタスク ファイルをパラメータとして指定する必要があります。
行ってくださいprotector4j/task-templates
フォルダーを見つけるspring-boot-task.yml
をコピーして変更します。
# Available values: 8,11,17,21
javaVersion: 17
# The jar file of spring boot application
springBootJarFile: ''
# Only encrypt the jar files, do not deploy the runtime
# This option is used while upgrading an existing application
onlyEncryptJarFiles: false
## [ Executable file information ]
# The executable file name
exeFileName: ''
# Hide command line window, only valid for Windows
hideConsole: false
# The splash image
splash: ''
# JVM Options
jvmOptions: []
## [ Output Options ]
# The output folder
outputFolder: ''
# Create a new and unique folder for the application, the folder name is like p4j-<taskId>
createNewFolder: true
# Whether this is a JavaFX application
includeJavaFX: false
# Whether this a swt gui application
swtApplication: false
# 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, keep it empty for current plaform,
# available values: [win, linux, mac]
platforms: []
## [ Windows exe file information (Optional and only valid for Windows) ]
icon: ''
productName: ''
productVersion: ''
fileVersion: ''
fileDescription: ''
companyName: ''
legalCopyright: ''
暗号化タスクを実行します。
Protector4J フォルダーに移動し、次のコマンドを実行します。
LinuxまたはmacOS
macOSユーザーの場合、CLIツールはこちらで見つけることができます/Applictions/Protector4J.app/Contents/protector4j-mac
。
./p4j -t spring-boot -f path-of-task-file
ウィンドウズ
p4j -t spring-boot -f path-of-task-file
実行することができますp4j --help
詳細なパラメータを表示します。
アカウント情報で実行する
./p4j -t spring-boot -f path-of-task-file -u email -p password
結果を表示する
暗号化タスクが完了したら、出力フォルダーに移動して結果を確認してください。
暗号化されたアプリケーションを実行する
暗号化されたアプリケーションを実行する方法は3つあります
- exeファイルで実行する
ターゲット プラットフォームが Windows の場合、暗号化タスクによって生成された実行可能ファイルを使用して、暗号化されたアプリケーションを実行できます。
- スクリプトで実行
ターゲットプラットフォームがLinuxまたはmacOSの場合、名前が付いたスクリプトファイルを見つけることができますexe-name.sh
、このスクリプト ファイルを使用してアプリケーションを実行できます。
- 従来のJavaコマンドでプログラムを実行する
vlxjre/bin/java を使用してプログラムを手動で実行することもできます。このコマンドの形式は通常の Java コマンドと同じです。
出力ディレクトリに vlxjre という名前のフォルダーが表示されます。これはカスタマイズされた JRE であり、暗号化された jar ファイルは vlxlib フォルダーに保存されています。
vlxjre/bin/java -jar vlxlib/xxx.jar
vlxjre/bin/java -cp vlxlib/xxx.jar MainClass
vlxjre/bin/java -cp "vlxlib/*" MainClass
vlxjre/bin/java -Xms512M -Xmx1024m -cp "vlxlib/*" MainClass
Java 8 は現在、vlxjre/bin/java -jar を介した実行をサポートしていません。 vlxjre/bin/java -cp xx MainClass を使用してください。
お知らせ
このプログラムのターゲットプラットフォームがmacOSまたはLinuxであるが、Windows上でビルドされている場合は、次のコマンドを実行してください。add-executable-permission.sh
ターゲット プラットフォーム上で、最初の起動前にプログラムに実行権限を付与します。