#java #sh
#java #sh
Вопрос:
У нас есть следующие строки кода в нашем приложении.
Process process = Runtime.getRuntime().exec("/usr/bin/sudo /opt/infra/bin/readPrivateKey.sh");
BufferedReader reader =new BufferedReader(new InputStreamReader(process.getInputStream()));
…
pvtKey = keys.toString().getBytes(StandardCharsets.UTF_8);
Файл оболочки содержит команду cat для выполнения файла rsa. Безопасно ли и безопасно ли выполнять команду cat из java? Результаты будут постоянными все время? Мы должны следовать этому подходу, поскольку у нас нет разрешения на доступ к файлу rsa непосредственно из java.
Ответ №1:
Результаты будут такими же последовательными, как и ваша файловая система. Но это не то, как вы управляете закрытыми ключами в программе Java — для этого есть хранилища ключей. Здесь вы просто читаете обычный файл с помощью некоторых программ — со всеми вытекающими последствиями