我正在尝试在python-gnupg中使用备用密钥,相当于命令的-u switch:
gpg --encrypt --armor -r <<theirkeyid>> -u <<my_nondefault_key_id>>
gpg --decrypt -r <<theirkeyid>> -u <<my_nondefault_key_id>>
但无法弄清楚,python-gnupg总是使用我的默认私钥。我唯一想到的可能是使用另一个密钥环,还是有办法?或者另一个py库是否支持多个私钥?
答案 0 :(得分:0)
--encrypt
仅使用对方的公钥时,在这种情况下忽略-u
选项options.recipients
列表中设置收件人的密钥。--decrypt
-r
选项时。通常,用于解密的密钥是从消息中的密钥id自动确定的。除非您的消息使用多个公钥加密,并且您的密钥库中有多个匹配的私钥。options.default_key
如果要使用其他密钥库文件,可以将其添加到额外参数中,也可以在call
参数列表中使用它:
gpg = GnuPGIntreface.GnuPG()
# ...
gpg.options.recipients += ['spam', 'eggs']
gpg.options.extra_args += ['--keyring', 'keyringfile']
# ...
# or:
gpg.call(['--encrypt', '--keyring', 'keyringfile'])
# ...