шифрование файла в режиме организации emacs

#encryption #emacs #org-mode

#шифрование #emacs #org-mode

Вопрос:

Я хотел бы выполнить полное шифрование файла режима организации. Я хотел бы просто иметь пароль для его открытия — я полагаю, что это называется симметричным шифрованием — никаких брелоков, открытых ключей и т. Д., Потому что я ничего об этом не знаю.

До сих пор я узнал, что все, что мне нужно сделать, это сохранить файл режима организации, заканчивающийся на .gpg или .org.gpg , и когда я сохраняю, я получаю:

 Select recipients for encryption.
If no one is selected, symmetric encryption will be performed.  
- ‘m’ to mark a key on the line
- ‘u’ to unmark a key on the line
[Cancel][OK]
  

Я просто нажимаю OK , и мне предлагается ввести пароль. Замечательно.

Когда я закрываю Emacs и просматриваю файл в другом текстовом редакторе, я вижу, что файл зашифрован. Замечательно.

Проблема возникает, когда я открываю зашифрованный файл — Emacs не запрашивает у меня пароль. Emacs сообщает, что он расшифровал файл, а затем открывает его.

Я хотел бы получить запрос на ввод пароля.

Я пробовал много разных команд как в обоих .emacs , так и в самом файле, и ничего не работает. Например:

 (setq epa-file-cache-passphrase-for-symmetric-encryption nil)
  

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

Каково минимальное количество команд и какие команды мне нужно использовать, чтобы убедиться, что шифрование / дешифрование работает правильно и надежно, и мне будет предложено ввести пароль каждый раз, когда я открываю файл?

Я использую:

 gpg (GnuPG) 2.2.20
libgcrypt 1.8.5
  

Комментарии:

1. У вас gpg-agent запущено?

2. Привет, NickD, у меня не запущен gpg-агент: gpg-agent [12288]: в этом сеансе не запущен gpg-агент

3. Однако я обнаружил, что gpg-agent был запущен, как только я запустил emacs и ввел пароль для открытия файла

Ответ №1:

Смотрите этот вопрос на сайте Emacs SE. Это вопрос настройки default-cache-ttl параметра в ~/.gnupg/gpg-agent.conf . Значение по умолчанию составляет 300 секунд (5 минут), поэтому пароль кэшируется в gpg-agent течение этого времени. Установка значения 0 гарантирует, что он не кэшируется.

Комментарии:

1. Привет, NickD, еще раз спасибо за то, что еще раз помог мне с моими вопросами. В моей системе нет файла ~/.gnupg/gpg-agent.conf, и у меня не запущен gpg-agent: gpg-agent[12288]: в этом сеансе не запущен gpg-agent, но, основываясь на другом вопросе, на который вы ссылались, я попробую установить: (setq epa-file-cache-passphrase-for-symmetric-encryption nil) и посмотрите, поможет ли это.

2. Однако я обнаружил, что gpg-agent был запущен, как только я запустил emacs и ввел пароль для открытия файла. Я также создал ~/.gnupg/gpg-agent.conf и вставил в него: ‘default-cache-ttl 0’, но я думаю, что мне нужно перезагрузиться, чтобы это вступило в силу — я не смог найти способ в справке gpg-agent остановить и перезапустить службу.