Вопрос или проблема
Вот как импортировать ключ в хранилище ключей, расшифровать файлы с его помощью, а затем удалить ключ из хранилища ключей.
gpg --import ~/alice.asc # введите пароль
gpg --edit-key alice trust # введите 5, введите y, Ctrl+C
gpg --decrypt-files -r alice ~/ciphertext.asc # введите тот же пароль еще раз
gpg --delete-secret-key alice # введите y, введите y, Enter, Enter
gpg --delete-key alice # введите y
Могу ли я сделать это всё одной командой? Есть ли способ расшифровать файлы, не загружая ключи в хранилище ключей?
Я бы хотел что-то вроде:
gpg --some-magic-option --key ~/alice.asc ~/ciphertext.asc
Ответ или решение
GPG Дешифрование без использования ключевого кольца
Если вы хотите расшифровать файл с помощью GPG без необходимости создавать и загружать ключ в ключевое кольцо, то существует способ, который соответствует вашим требованиям. Стандартный процесс расшифровки подразумевает импорт ключа в ключевое кольцо, но вы можете использовать временные ключи или рабочие процессы, которые обходят это ограничение. Ниже представлены шаги и возможные варианты.
Использование временного ключа с GPG
-
Создайте временный ключ для расшифровки.
Вы можете использовать--batch
и другие параметры командной строки GPG для временной работы с ключами:gpg --batch --yes --passphrase "ваш_пароль" --import ~/alice.asc
Здесь важно использовать флаг
--batch
, чтобы избежать интерактивного запроса. -
Выполните расшифровку:
К сожалению, в GPG не предусмотрена возможность расшифрования файла напрямую с использованием ключа, не импортируя его в ключевое кольцо. Однако можно использовать конструкцию с перенаправлением:
gpg --batch --yes --passphrase "ваш_пароль" --decrypt --recipient-file ~/alice.asc ~/ciphertext.asc
Эта команда позволяет вам указать файл ключа для расшифровки, избегая необходимости в долгосрочном добавлении его в ключевое кольцо.
-
Удалите ключ после использования.
Чтобы удалить временный ключ, можно использовать следующий подход:gpg --batch --yes --delete-secret-keys alice gpg --batch --yes --delete-keys alice
Применяя эти команды, вы очищаете ключевое кольцо от вставленного временного ключа.
Важно заметьте
Хотя GPG предлагает различные опции для управления ключами, работа с временными ключами или иммитация работы "в один шаг" может быть менее удобной и требует тщательного управления безопасностью, особенно при использовании паролей. Если вы планируете часто выполнять расшифровку таким образом, рассмотрите применение сценариев или автоматизацию процесса.
Заключение
Итак, хотя GPG по своей природе требует некоторых действий, связанных с ключами, вы можете воспользоваться довольно простой последовательностью из команд, избегая необходимости длительного хранения ключей. Эти методы помогают поддерживать высокий уровень безопасности, минимизируя риски, связанные с хранением криптографических ключей в ключевом кольце.
Постоянно следите за своими процессами шифрования и расшифровки, чтобы гарантировать их безопасность и соответствие вашим требованиям.