Protéger les applications Web Tomcat

Vidéos de démarrage

▶️ YouTube

▶️ Bilibili

Téléchargement

Visitez https://protector4j.com/download pour télécharger la dernière version

Installation

Windows et Linux

Il n'y a pas d'étapes d'installation particulières, il suffit de télécharger l'archive et de l'extraire.

macOS

Téléchargez le fichier dmg et faites glisser Protector4J dans Applications. Le contenu réel de cet outil se trouve dans /Applications/Protector4J.app/Contents/protector4j-mac

Chiffrer les applications Web Tomcat avec l'outil GUI

Accédez au dossier Protector4J, exécutez p4j-ui[.exe], vous verrez l'interface utilisateur suivante.

Pour les utilisateurs macOS, double-cliquez simplement sur Protector4J.app comme une application Mac classique.

Connexion

Si vous avez déjà acheté la licence, veuillez cliquer sur le bouton de connexion dans le coin supérieur droit et saisir vos informations utilisateur. Si vous n'avez pas de licence, vous pouvez quand même essayer cet outil.

Sélectionner le type d'application

Cliquez sur le bouton « Tomcat Web Application » sur la page de type d'application.

Sélectionner le fichier jar/war à chiffrer

Sélectionnez les fichiers jar/war à chiffrer, vous pouvez en choisir un ou plusieurs.

Options

Chiffrer uniquement les fichiers jar

Chiffre uniquement les fichiers jar, sans déployer l'ensemble du JRE. Cette option est généralement utilisée en combinaison avec la fonctionnalité KeySeed pour mettre à jour des programmes existants.

Sortie

Sélection de la version Java

Choisissez la version Java, avec support de Java 8, Java 11, Java 17 et Java 21

Créer un nouveau dossier

Sélectionné par défaut, la tâche de chiffrement créera un fichier nommé p4j-[task-id] dans le dossier de sortie. Le résultat est stocké dans ce dossier.

KeySeed

La tâche de chiffrement demande par défaut une clé aléatoire au serveur pour le chiffrement. Les fichiers générés par différentes tâches de chiffrement ne peuvent pas être utilisés ensemble. Si un KeySeed est spécifié, le même KeySeed générera la même clé de chiffrement. Cette option peut être utilisée avec l'option précédente « Chiffrer uniquement les fichiers jar » pour mettre à jour les applications existantes. Cette option n'est valide que pour les utilisateurs licenciés.

Exécuter la tâche de chiffrement

Veuillez patienter un moment. Une fois la tâche de chiffrement terminée, vous pouvez voir le résultat de l'application chiffrée dans le dossier de sortie.

Exécuter l'application chiffrée

Accédez au dossier de sortie, puis allez dans tomcat/bin, exécutez startup.sh ou startup.bat pour démarrer l'application.

Où se trouve META-INF/classes ?

Vous pouvez trouver votre application dans le dossier webapps, mais le dossier original WEB-INF/classes n'existe plus. Afin de protéger la structure de l'application et empêcher les utilisateurs externes d'accéder aux noms des classes et autres informations, nous avons empaqueté WEB-INF/classes dans WEB-INF/vlxapp.jar. Il s'agit de notre format jarx chiffré privé.

Remarques

Si la plateforme cible de ce programme est macOS ou Linux, mais qu'il est compilé sous Windows, veuillez exécuter add-executable-permission.sh sur la plateforme cible pour accorder les permissions d'exécution au programme avant le premier démarrage.

Chiffrer les applications Web Tomcat avec l'outil CLI

Fichier de configuration

L'outil CLI nécessite de spécifier un fichier de tâche en paramètre.

Trouvez tomcat-task.yml dans le dossier protector4j/task-templates, copiez-le et modifiez-le.

# 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: []

Exécuter la tâche de chiffrement

Accédez au dossier Protector4J et exécutez la commande suivante.

Linux ou macOS

Pour les utilisateurs macOS, vous pouvez trouver l'outil CLI dans Protector4J.app/Contents/protector4j-mac.

./p4j -t tomcat -f path-of-task-file

Windows

p4j -t tomcat -f path-of-task-file

Vous pouvez exécuter p4j --help pour afficher les paramètres détaillés.

Exécuter avec les informations de compte

./p4j -t tomcat -f path-of-task-file -u email -p password

Voir les résultats

Une fois la tâche de chiffrement terminée, veuillez accéder au dossier de sortie pour vérifier les résultats.

Exécuter l'application chiffrée

Accédez au dossier de sortie, puis allez dans tomcat/bin, exécutez startup.sh ou startup.bat pour démarrer l'application.

Où se trouve META-INF/classes ?

Vous pouvez trouver votre application dans le dossier webapps, mais le dossier original WEB-INF/classes n'existe plus. Afin de protéger la structure de l'application et empêcher les utilisateurs externes d'accéder aux noms des classes et autres informations, nous avons empaqueté WEB-INF/classes dans WEB-INF/vlxapp.jar. Il s'agit de notre format jarx chiffré privé.

Remarques

Si la plateforme cible de ce programme est macOS ou Linux, mais qu'il est compilé sous Windows, veuillez exécuter add-executable-permission.sh sur la plateforme cible pour accorder les permissions d'exécution au programme avant le premier démarrage.