我想使用這個模塊來解密PGP文件使用GnuPG解密PGP在Python
#!/usr/bin/python
import gnupg
gpg = gnupg.GPG(gnupghome='C:\\Users\\GSquire\\Desktop\\GnuPG',
gpgbinary='C:\\Users\\GSquire\\Desktop\\GnuPG\\pub\\gpg.exe',
keyring='C:\\Users\\GSquire\\Desktop\\GnuPG\\secring.skr')
with open('.\\tranx08022012.txt.pgp', 'rb') as f:
status = gpg.decrypt_file(f, passphrase='passphrase', output='out.txt')
我使用的是最新版本的模塊,和Python 2.6.6。我以爲我可以使用安全的環文件來解密它,因爲這是文件顯然需要的。它輸出這個當我運行該腳本:
ok: False
status:
stderr:
gpg: expected public key but found secret key - must stop
是不是真實的,安全的關鍵是什麼解密文件?謝謝您的幫助!
如果文件是用祕密密鑰加密的,則不行; GPG加密是不對稱的,如果您使用一個密鑰進行加密,則只能使用另一個進行解密。這可以是公鑰或私鑰。 – 2012-08-03 15:50:19
我實際上已經用公鑰加密成功,我想我只是雙重檢查。 – squiguy 2012-08-03 15:54:18
我的理解(我可能是錯的,因爲我不是加密專家*)通常被認爲是使用公鑰解密的不太好習慣。不過,我不知道這是否真的如此。通常(至少使用RSA加密)你使用公共密碼進行加密,使用私有密鑰進行解密(儘管你使用私有密鑰進行簽名和驗證簽名)嗯...我可能需要自己去問這個問題... – BorrajaX 2012-08-03 16:52:53