Python 你是如何阻止GPG要求PinEntry的?

Python 你是如何阻止GPG要求PinEntry的?,python,gnupg,Python,Gnupg,我是这样从python调用GPG的。您可能认为--batch和--no-tty会阻止它在KDE中弹出PinEntry对话框。我错过了什么 subprocess.Popen(['gpg', '--list-packets', '--batch', '--no-tty'],... 这取决于您使用的GnuPG版本 GnuPG 1:使用--不使用代理阻止GnuPG询问代理(这会导致pin输入对话框被打开) GnuPG 2:无法阻止代理被询问。但是(至少从GNUPG2.1开始),您可以使用来确保gpg

我是这样从python调用GPG的。您可能认为
--batch
--no-tty
会阻止它在KDE中弹出PinEntry对话框。我错过了什么

subprocess.Popen(['gpg', '--list-packets', '--batch', '--no-tty'],...

这取决于您使用的GnuPG版本

  • GnuPG 1:使用
    --不使用代理
    阻止GnuPG询问代理(这会导致pin输入对话框被打开)
  • GnuPG 2:无法阻止代理被询问。但是(至少从GNUPG2.1开始),您可以使用来确保
    gpg代理已经知道您的密码,并且不会要求它

    至少在运行Debian(可能还有衍生产品)的系统上,它隐藏在
    /usr/lib/gnupg2/gpg预设密码短语中


这取决于您使用的GnuPG版本

  • GnuPG 1:使用
    --不使用代理
    阻止GnuPG询问代理(这会导致pin输入对话框被打开)
  • GnuPG 2:无法阻止代理被询问。但是(至少从GNUPG2.1开始),您可以使用来确保
    gpg代理已经知道您的密码,并且不会要求它

    至少在运行Debian(可能还有衍生产品)的系统上,它隐藏在
    /usr/lib/gnupg2/gpg预设密码短语中


我不知道您是否知道,但是有一个名为
python-gnupg
的包可以简化python编程:)我不知道您是否知道,但是有一个名为
python-gnupg
的包可以简化python编程:)