2012-05-21 226 views
0

我想使用的python-GnuPG的备用密钥,相当于-u开关命令:如何选择python-gnupg中的加密/解密密钥?

gpg --encrypt --armor -r <<theirkeyid>> -u <<my_nondefault_key_id>> 
gpg --decrypt -r <<theirkeyid>> -u <<my_nondefault_key_id>> 

但无法弄清楚,蟒蛇,GnuPG的总是使用我的默认私钥。唯一我想到的可能是使用另一个钥匙圈,或者有没有办法?或者另一个py库支持多个私钥?

回答

0
  • --encrypt荷兰国际集团只有对方的公钥使用,在这种情况下,-u选项将被忽略
  • 收件人的密钥可以在options.recipients列表中设置。
  • 同样当​​3210 ing -r选项被忽略。通常用于解密的密钥是从消息中的密钥ID自动确定的。除非你的信息用多于一个公钥加密,并且你的密钥库中有多个匹配的私钥。
  • ,如果你想使用一个不同的密钥库文件,您可以设置options.default_key
  • 的默认密钥,您可以将其添加到额外的参数或者用它在call参数列表directyl:

    gpg = GnuPGIntreface.GnuPG() 
    # ... 
    gpg.options.recipients += ['spam', 'eggs'] 
    gpg.options.extra_args += ['--keyring', 'keyringfile'] 
    # ... 
    # or: 
    gpg.call(['--encrypt', '--keyring', 'keyringfile']) 
    # ... 
    
+0

请注意:虽然问题是关于python-gnupg(http://code.google.com/p/python-gnupg/),您可以使用python-gnupginterface的示例进行回答(http://sourceforge.net/projects/PY-gnupg的/)。这是完全不同的代码。 – hasienda