#java #openssl #keystore #secret-key #jceks
Вопрос:
Я работаю с инструментом, который создает резервную копию системы. Резервная копия также содержит пароли. Средство резервного копирования использует secret key
данные, хранящиеся в JCEKS
хранилище ключей, для расшифровки/шифрования паролей, сохраненных в файле резервной копии.
Я знаю, что могу сгенерировать секретный ключ и добавить его в JCEKS
хранилище keytool
ключей таким образом:
$ keytool -genseckey -alias "key-alias" -keyalg AES -keysize 128
-storetype jceks -keystore "/path/to/keystore.jceks"
-storepass:file "/path/to/.storepass"
-keypass:file "/path/to/.keypass"
Прежде чем я запущу средство резервного копирования, мне нужно создать свое собственное secret key
. Эта часть работает нормально, я могу создать файл резервной копии с зашифрованными паролями.
У меня есть среда docker, и образ, который я использую, содержит установку приложения по умолчанию. Во время первого запуска контейнера мне нужно добавить то же secret key
самое JCEKS
в хранилище ключей в контейнере docker, которое я использовал при создании резервной копии, а затем я могу запустить процесс восстановления, который настраивает приложение, работающее в контейнере.
Я хотел бы иметь инструмент для экспорта/импорта secret key
из bash. Я нашел некоторые решения в StackOverflow и других местах, но они предлагают использовать программу Java, подобную этой.
Но я хотел бы иметь готовый к использованию инструмент без java. Есть ли они вообще?
Ответ №1:
Наконец, я создал инструмент командной строки, который я могу использовать. Этот инструмент, который я создал, является инструментом с открытым исходным кодом, поэтому каждый может использовать и улучшать его.
Это URL-адрес инструмента CLI: jceks-tool