2012-05-21 92 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