如何使用gpg,gpg-agent,尤其是.authinfo.gpg?

时间:2014-09-13 19:56:40

标签: gnupg gnus

(kubuntu,但试图在我的方法中保持平台独立。)

赞赏概念性解释或必要步骤。

我正在阅读文档,并尝试让gpg-agent工作一次,但是因为每次尝试都需要重新启动而感到气馁,我真的不明白它是如何工作的首先(只是剪切和粘贴代码)。

我想使用gpg-agent,这样我每次打开GNUS时都可以在.authinfo.gpg上输入GNUS来试用gpg --gen-key


在我深入研究问题之前,我想更多地了解这个过程。

  1. gpg-agent使用.authinfo.gpg之前需要SSH吗?
  2. 我最少使用gpg是否需要提及.authinfo.gpg的配置行?
  3. gpg是否对某些钥匙串采取立场?这个钥匙串本身是否需要主密钥?
  4. 请按照想象中的流程纠正我。 (需要缺少钥匙吗?)。我很遗憾它很稀疏。

    1. 启动后,初始化将打开GNUS守护程序,并进行其他相关设置。
    2. .authinfo.gpg访问gpg-agent时,它会使用GPG_AGENT_INFO ${HOME}/.gpg-agent-info GPG_TTY $(TTY) 缓存某些内容。

    3. 以下是我考虑的一些细节。

      设置以下变量

      ~/.gnupg/gpg.conf

      use-agent中,我们需要查看#default-key ********。我留下假人~/.gnupg/gpg-agent.conf注释掉了,因为我相信只有你有多个钥匙才需要它。

      pinentry-program /usr/bin/pinentry-qt4 no-grab default-cache-ttl 1800 中,我们需要查看

      pinentry-qt4

      (尽管pinentry-curses可能会替换为其他现有版本,例如.bashrc。)


      可能会有一些裁员,但我也看到了我认为eval $(gpg-agent --daemon)的行,例如gpg-agent --daemon \ --write-env-file "${HOME}/.gpg-agent-info"

      SSH

      (我已经省略了关于echo "test" | gpg -ase -r 0xMYKEYID | gpg 的内容,因为我认为我现在不需要这样做。)


      我已经看过故障排除命令

      {{1}}

      但是因为我不确定我是否首先需要一把钥匙,所以我没有更进一步。

1 个答案:

答案 0 :(得分:1)

这是我非常业余的教程回复我自己的问题。

要检查是否已启用gpg-agent,请尝试

ps aux | grep gpg

我找到了

iam@heeere:/e$ ps aux | grep gpg
iam       1490  0.0  0.0  16728   900 ?        Ss   17:25   0:00 gpg-agent --daemon --sh
iam       2611  0.0  0.0  11748   912 pts/0    S+   17:33   0:00 grep --color=auto gpg

这与

一起
(setq epg-gpg-program "/usr/bin/gpg2")

似乎解决了我的问题。正如Jens Erat所指出的,gpg-agentgpg2相关联,而不是gpg

事实上,我删除了我从

所做的所有修改
  

GnuPG and EasyPG Assistant Configuration - Emacs auth-source Library

它仍然完美无缺。也就是说,不需要eval $(gpg-agent --daemon),不需要gpg-agent.conf。虽然,我可能会添加一些,例如default-cache-ttl。虽然pinentry-curses看起来很有吸引力,但我认为比我更强大的思想一直在努力阻止gpg-agent使用来自Emacs的弹出窗口,所以我会留下它。