我想使用这个模块来解密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