gpt4 book ai didi

Python - GPG 解密有效,但 GNUPG 无效

转载 作者:行者123 更新时间:2023-12-01 05:27:00 28 4
gpt4 key购买 nike

我正在使用 pythons gnupg 来解密我用 python 下载的文件:

        gpg = gnupg.GPG(gnupghome="/home/myname/.gnupg")
with open('updates/'+filelist[i],'r') as f:
print "Decrypting "+fn
status=gpg.decrypt_file(f, passphrase="passphrase",output='updates/'+fn)

print 'ok: ', status.ok
print 'stderr: ',status.stderr

这失败了,提示“ key 不可用”。但是,当我从终端运行 gpg -d filename 时,文件解密时没有任何错误。我使用了 gpg -K 并检查了用于加密文件的 secret 证书/ key 是否已导入+受信任等。

这一切都在 Ubuntu Server 12.04 上运行。

任何人都可以建议我如何解决此错误吗?

最佳答案

请注意,GnuPG 是 gpg 的“真实”名称,它只是二进制文件的名称。 Python API 称为 python-gnupg。

该问题很可能是由于缺少访问权限引起的。正如您已经意识到的,每个系统用户都有自己的 GnuPG 主目录(因此您提供了另一个用户的 GnuPG 目录),其他用户无法访问。确保您的 Web 服务器用户(可能是 www-data)有权访问 /home/myname/.gnupg,最好导出私钥并从 Web 服务器用户中重新导入(GnuPG 不喜欢广泛的访问权限,否则可能会发送警告或拒绝运行)。

您可以通过运行 sudo -u www-data 'gpg --home-dir/home/myname/.gnupg -d filename 来测试这是否确实是问题(因此,运行 gpg 在 Web 服务器的用户下)。

关于Python - GPG 解密有效,但 GNUPG 无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21140089/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com