Можно ли настроить gpg
таким образом, чтобы я вводил фразу-пароль только один раз, и она будет работать для всего сеанса (я использую Ubuntu/XFce
)?
Я не уверен, как gpg
работает, кажется, что функция по умолчанию gpg
запрашивает gpg-agent
кодовую фразу, и агент запускает пин-ввод, чтобы запросить кодовую фразу.
Я хотел бы использовать pinentry-curses только один раз за сеанс, поэтому я могу вставить свою фразу-пароль (у меня есть hex
строка из предложения - я использую echo -n <SENTENCE> | str-hex
) и подписать электронную почту из Claws Mail, не вводя фразу-пароль (вы не можете использовать pinentry-curses с Claws Mail).
GPG_PROCESS=`cut -d: -f 2 $HOME/.gpg-agent-info` if test -f $HOME/.gpg-agent-info && \ kill -0 ${GPG_PROCESS} 2>/dev/null && \ [[ ${GPG_PROCESS} == `pgrep -x -u "${USER}" gpg-agent` ]] ; then
и он работал нормально. Проблема заключается в том, что приведенный выше скрипт проверяет, активен ли процесс,.gpg-agent-info
и принимает сигналы с помощьюkill -0
. Если процесс есть, но нетgpg-agent
, мы получаем неправильное поведение. Прикрепленный код проверяет у нас правильный процесс.