Скрытие простого текстового пароля в стартовых аргументах JVM. "ps -ef | grep 'javax. net .ssl.keyStorePassword'" - PullRequest
0 голосов
/ 13 января 2020

Аргументы запуска приложения весенней загрузки, имеющие данные о доверии и хранилище ключей с простым текстовым паролем.

Теперь я хочу скрыть детали этого простого текстового пароля из процесса:

ps -ef | grep 'javax.net.ssl.keyStorePassword'

У меня есть создан другой файл свойств с подробностями ниже. Как мы можем добавить этот файл свойств в аргументах запуска?

javax.net.ssl.keyStore
javax.net.ssl.keyStorePassword
javax.net.ssl.keyStoreType
javax.net.ssl.trustStore
javax.net.ssl.trustStorePassword
javax.net.ssl.trustStoreType

1 Ответ

0 голосов
/ 14 января 2020

Возможно предварительно загрузить файл свойств, используя Java Агент .

Код агента будет очень простым.

StartupProps. java

import java.io.*;

public class StartupProps {

    public static void premain(String fileName) throws IOException {
        try (FileReader reader = new FileReader(fileName)) {
            System.getProperties().load(reader);
        }
    }
}

Агенту также требуется файл манифеста:

MANIFEST.MF

Premain-Class: StartupProps

Теперь агенту необходимо скомпилируйте и упакуйте в .jar вместе с манифестом с помощью следующей команды:

jar cvfm startupprops.jar MANIFEST.MF StartupProps.class

Теперь вы можете запустить ваше приложение Java с агентом, указав исходный файл свойств:

java -javaagent:startupprops.jar=/path/to/initial.properties <args>

Для вашего удобства я прикрепил готовый startupprops.jar

...