gpg --decrypt не спрашивает пароль и просто расшифровывает, почему?

576
Michael Goldshteyn

Поэтому я шифрую файл с использованием симметричного шифрования AES с помощью gnupg 2.2.9:

gpg -a --symmetric myfile # This produces myfile.asc as its output

Мне предлагается ввести пароль и ввести его. -aОпция производит ASCII бронированный файл - файл, который содержит только печатаемые символы вместо двоичного зашифрованного файла. Этот тип файла может быть легко отправлен по электронной почте в виде текста и помещен в тело письма, а не в виде вложения.

Теперь, чтобы расшифровать его, я использую:

gpg --decrypt myfile.asc # This should decrypt myfile.asc to STDOUT after asking # me for the password used during encryption 

gpg сообщает мне (через вывод в STDERR), что файл был зашифрован с помощью AES и зашифрован 1 парольной фразой. ОК, это имеет смысл.

Однако gpg затем просто расшифровывает файл в STDOUT, даже не запрашивая у меня пароль, как если бы он не был защищен паролем во время шифрования или вообще не шифровался.

Почему это?

0
Пожалуйста, включите пример полезной нагрузки (например: содержимое `myfile.asc`) Attie 6 лет назад 0
Примечание: я не вижу такого поведения ... Attie 6 лет назад 0
Попробуйте выйти из системы, затем войдите снова и попробуйте расшифровать снова. Alex 6 лет назад 0

1 ответ на вопрос

0
pxi

Согласно этому ответу, кажется, что ваш симметричный пароль кешируется gpg-agent и доступен для расшифровки файла позже.

Чтобы избежать кеша, вы должны настроить файл ~/.gnupg/gpg-agent.confи добавить:

# Disable agent cache  default-cache-ttl 0 max-cache-ttl 0 

Сохраните и запустите:

gpgconf --reload gpg-agent 

Перезагрузить агент впоследствии.