1

我正在尝试使用此模块解密 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

安全密钥不是解密文件的东西吗?谢谢您的帮助!

4

1 回答 1

0

您收到的错误是因为您在keyring参数中传递了密钥环的文件名。该参数仅适用于公钥环。不幸的是,似乎没有指定密钥环文件的替代参数。

默认情况下,GnuPG 将在您指定secring.gpggnupghome文件夹中查找密钥,因此您可以重命名您的密钥文件并使其工作。

于 2012-08-03T18:13:58.470 回答