Proteger Aplicações Web Tomcat

Vídeos de Introdução

▶️ YouTube

▶️ Bilibili

Download

Visite https://protector4j.com/download para baixar a versão mais recente

Instalação

Windows e Linux

Não há etapas especiais de instalação, basta baixar o arquivo compactado e extraí-lo.

macOS

Baixe o arquivo dmg e arraste o Protector4J para Applications. O conteúdo real desta ferramenta está em /Applications/Protector4J.app/Contents/protector4j-mac

Criptografar Aplicações Web Tomcat com ferramentas GUI

Vá para a pasta do Protector4J, execute p4j-ui[.exe], você verá a seguinte interface de usuário.

Para usuários macOS, basta clicar duas vezes em Protector4J.app como um aplicativo Mac comum.

Login

Se você já adquiriu a licença, clique no botão de login no canto superior direito e insira suas informações de usuário. Se você não tem uma licença, ainda pode experimentar esta ferramenta.

Selecionar Tipo de Aplicação

Clique no botão "Tomcat Web Application" na página de tipo de aplicação.

Selecione o arquivo jar/war que precisa ser criptografado

Selecione os arquivos jar/war que precisam ser criptografados, você pode escolher um ou vários.

Opções

Apenas criptografar arquivos jar

Apenas criptografa os arquivos jar, sem implantar todo o jre. Esta opção é geralmente usada em combinação com o recurso KeySeed para atualizar programas existentes.

Saída

Seleção da versão Java

Escolha a versão do Java, suportando Java 8, Java 11, Java 17 e Java 21

Criar nova pasta

Selecionado por padrão, a tarefa de criptografia criará um arquivo chamado p4j-[task-id] na pasta de saída. O resultado da saída é armazenado nesta pasta.

KeySeed

A tarefa de criptografia solicitará uma chave aleatória do servidor para criptografia por padrão. Arquivos gerados em diferentes tarefas de criptografia não podem ser usados juntos. Se o KeySeed for especificado, o mesmo KeySeed gerará a mesma chave de criptografia. Esta opção pode ser usada com a opção anterior "Apenas Criptografar Arquivos Jar" para atualizar aplicações existentes. Esta opção é válida apenas para usuários licenciados.

Executar Tarefa de Criptografia

Aguarde um momento, após a conclusão da tarefa de criptografia, você pode ver a saída da aplicação criptografada na pasta de saída.

Executar aplicação criptografada.

Vá para a pasta de saída, depois vá para tomcat/bin, execute startup.sh ou startup.bat para iniciar a aplicação.

Onde está META-INF/classes

Você pode encontrar sua aplicação na pasta webapps, mas o WEB-INF/classes original já não existe. Para proteger a estrutura da aplicação e impedir que usuários externos acessem nomes de classes e outras informações, empacotamos WEB-INF/classes em WEB-INF/vlxapp.jar. Este é o nosso formato jarx criptografado privado.

Observações

Se a plataforma alvo deste programa for macOS ou Linux, mas foi compilado no Windows, execute add-executable-permission.sh na plataforma alvo para conceder permissão de execução ao programa antes da primeira inicialização.

Criptografar aplicação Web Tomcat com ferramenta CLI

Arquivo de configuração

A ferramenta CLI precisa especificar um arquivo de tarefa como parâmetro.

Encontre tomcat-task.yml na pasta protector4j/task-templates, copie e modifique-o.

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

Executar tarefa de criptografia.

Vá para a pasta do Protector4J e execute o seguinte comando.

Linux ou macOS

Para usuários macOS, você pode encontrar a ferramenta CLI em Protector4J.app/Contents/protector4j-mac.

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

Windows

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

Você pode executar p4j --help para ver os parâmetros detalhados.

Executar com informações da conta

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

Ver Resultados

Após a conclusão da tarefa de criptografia, vá para a pasta de saída para verificar os resultados.

Executar aplicação criptografada.

Vá para a pasta de saída, depois vá para tomcat/bin, execute startup.sh ou startup.bat para iniciar a aplicação.

Onde está META-INF/classes

Você pode encontrar sua aplicação na pasta webapps, mas o WEB-INF/classes original já não existe. Para proteger a estrutura da aplicação e impedir que usuários externos acessem nomes de classes e outras informações, empacotamos WEB-INF/classes em WEB-INF/vlxapp.jar. Este é o nosso formato jarx criptografado privado.

Observações

Se a plataforma alvo deste programa for macOS ou Linux, mas foi compilado no Windows, execute add-executable-permission.sh na plataforma alvo para conceder permissão de execução ao programa antes da primeira inicialização.