Python 在批处理模式下使用gpg--搜索键
我正在开发一个应用程序,它最终将在一组预定义的电子邮件地址之间绘制gpg签名连接。我需要它以编程方式从密钥服务器收集公钥。我有一个工作模型,它将使用--search key选项来创建gpg。但是,当使用--batch标志运行时,我会收到错误“gpg:抱歉,我们处于batchmode-无法获取输入”。当我在没有--batch标志的情况下运行时,gpg需要输入Python 在批处理模式下使用gpg--搜索键,python,batch-file,gnupg,pgp,Python,Batch File,Gnupg,Pgp,我正在开发一个应用程序,它最终将在一组预定义的电子邮件地址之间绘制gpg签名连接。我需要它以编程方式从密钥服务器收集公钥。我有一个工作模型,它将使用--search key选项来创建gpg。但是,当使用--batch标志运行时,我会收到错误“gpg:抱歉,我们处于batchmode-无法获取输入”。当我在没有--batch标志的情况下运行时,gpg需要输入 我希望gpg有一些我错过的标志。或者,一个与密钥服务器交互的库(最好是python)就可以了。使用--recv密钥在没有提示的情况下获取密钥
我希望gpg有一些我错过的标志。或者,一个与密钥服务器交互的库(最好是python)就可以了。使用--recv密钥在没有提示的情况下获取密钥。当您导入信任网的很大一部分时,GnuPG的性能不是很好,尤其是在导入阶段 我会设置一个本地密钥服务器,只需将所有密钥转储到其中(2014年下载大小小于10GB),然后直接查询您自己的本地密钥服务器 非常容易设置,尤其是查询,因为它将数据存储在PostgreSQL数据库中。使用
gpg --batch --keyserver hkp://pool.sks-keyservers.net --search-keys ...
并解析输出以获取密钥ID
之后
gpg --batch --keyserver hkp://pool.sks-keyservers.net --recv-keys key-id key-id ..
应能工作在hkps服务器的情况下,以下各项可以工作:
gpg --keyserver hkps://***HKPSDOMAIN*** --recv-keys \
$(curl -s "https://***HKPSDOMAIN***/?op=index&options=mr&search=***SEARCHSTRING***"\
|grep pub|awk -F ":" '{print $2}')
--recv keys需要密钥id。我正在尝试通过电子邮件地址查找密钥id。我应该注意到,如果--recv-keys接收电子邮件,执行搜索,并导入任何生成的密钥,这正是我要寻找的选项。在我的特殊情况下,我处理的密钥不会超过100个。不过,运行本地密钥服务器并以这种形式处理数据可能会有很大帮助。我试试看。谢谢