(Я понимаю следующие последствия для безопасности, и я в порядке с ними.)
У меня есть один зашифрованный файл в моей директории org diary.org.gpg
. Я никогда не делал никаких специальных настроек для его работы, до сих пор
- Всякий раз, когда я посещаю файл, меня просят ввести пароль шифрования. Что здорово.
- Всякий раз, когда я сохраняю буфер, меня дважды запрашивают пароль. Какая моя проблема .
Обратите внимание, что я ничего не настроил, чтобы это работало, поэтому любые ответы, касающиеся агентов или связок ключей, должны идти с инструкциями по настройке.
Я думал о сохранении пароля, записанного где-нибудь внутри файла (в заголовке или в конце файла). Затем, всякий раз, когда я сохраняю, Emacs может прочитать пароль в буфере и использовать его вместо запроса. Но когда я начал разбираться с этим, я совершенно заблудился где-то внутри epa.el
.
В: Как я могу отправить пароль непосредственно из Emacs в систему / процесс шифрования при сохранении буфера, вместо того, чтобы запрашивать его?
Все остальное (нахождение пароля в буфере) я могу выяснить сам. Я просто заблудился, пытаясь понять, как Emacs взаимодействует с gpg.
Обратите внимание, что я использую Ubuntu, Arch Linux и Windows. Вот почему моей первой идеей было решение, ориентированное на emacs.
Я могу жить с решением, которое не работает в Windows, до тех пор, пока я могу получить доступ к файлу вручную.
источник
gpg-agent
заключается в том, что онssh-agent
просто сохраняет ваши пароли после активации. Таким образом, вам не будет предложено ввести пароль ни при открытии файла, ни при его сохранении (если агент запоминает пароль), но я не думаю, что это распространяется на фразу-пароль, которая является довольно глупой , если правда.gpg-agent
, чтобы он некоторое время кэшировал ключ? :)Ответы:
Шифрование с использованием пароля + ключа
Это не сохраняет пароль непосредственно в файле, но делает что-то подобное без какой-либо угрозы безопасности и помогает вам достичь того, чего вы хотите.
Вам необходимо использовать асимметричное шифрование, чтобы ваш пароль ассоциировался с идентификатором электронной почты в связке ключей .
Сохраните ниже в верхней части вашего .gpg файла
Пароль запрашивается при первом сохранении / создании файла. Но после этого пароль запрашивается только один раз при каждом открытии сохраненного файла.
Единственный улов заключается в том, что вы не должны терять файл ключей, который сохраняется
~/.gnupg/
по умолчанию.Настройка GPG
Настройка Emacs
Для этого в emacs не требуется никаких настроек.
Настройка системы
Но вам нужно иметь готовую системную среду с несколькими библиотеками для работы функции GPG.
Во время настройки мне пришлось установить следующее:
Мне нужна была одна или две из вышеуказанных библиотек, и в итоге я установил остальные, потому что они были либо обязательными, либо необязательными зависимостями.
После того, как все установлено, сделайте
И создайте для себя вечный ключ и свяжите его с вашим настоящим именем и адресом электронной почты.
Сгенерированный ключ будет сохранен в вашем
~/.gnupg/
каталоге.Изменение расположения клавиш
Вы можете изменить расположение связки ключей, изменив
$GNUPGHOME
, используя--homedir
или--keyring
параметры дляgpg
.От
man gpg
:Использование GPG с emacs
В emacs вы просто создаете файл с
.gpg
расширением. Например, если файл изначально былauth.el
, вы бы переименовали его вauth.el.gpg
.Поместите эту строку вверху файла:
Обратите внимание, что я использовал символы комментария elisp
;;
в качестве примера файла здесьauth.el.gpg
.Используйте точный адрес электронной почты, который вы использовали во время генерации ключа.
Когда вы попытаетесь сохранить его, emacs отобразит это приглашение в буфере:
Перейдите точку к строке, содержащей ключ, нажмите
m
.Переместите точку к
[OK]
кнопке и нажмите<return>
.Теперь вы можете сохранить файл и уничтожить этот файловый буфер.
В следующий раз, когда вы откроете этот файл .gpg, вам будет предложено ввести пароль только один раз, а затем последующее сохранение будет без запроса пароля.
Больше информации
источник
Оказывается, все, что мне нужно было сделать, это
Это решение работает как в Linux, так и в Windows, и любезно предоставлено Тедом и Майклом в help-gnu-emacs.
источник
epa-file-cache-passphrase-for-symmetric-encryption
: «Обратите внимание, что этот параметр не действует, если вы используете GnuPG 2.0».