我正在尝试使用此模块解密PGP文件: http://packages.python.org/python-gnupg/
这是我的代码段:
#!/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
安全密钥解密文件是不是真的?谢谢你的帮助!
答案 0 :(得分:0)
您收到的错误是因为您在keyring
参数中传递了密钥密钥的文件名。该参数仅适用于公钥密钥。不幸的是,似乎没有替代参数来指定密钥密钥环文件。
默认情况下,GnuPG会在您指定的secring.gpg
文件夹中的gnupghome
中查找密钥,因此您可以重命名密钥文件并使其正常工作。