我正在尝试使用python gpgme(python3-gpg-1.12.0-1.fc30.x86_64)针对特定密钥验证文件分离签名。 不幸的是,它失败了:
Traceback (most recent call last):
File "verify.py", line 11, in <module>
ctx.verify(file, signature=sig, verify=sig_key)
File "/usr/lib64/python3.7/site-packages/gpg/core.py", line 580, in verify
results[1], missing, results=results)
gpg.errors.MissingSignatures: 35E6E5D3D84DBF11601A91B7C5E5D36F83B29E76
签名创建过程如下:gpg2 -u my@signature.key --detach-sign file
。
我简单的python代码如下:
#!/usr/bin/python3
import gpg
ctx = gpg.Context()
sig_key = list(ctx.keylist("my@signature.key"))
with open("file.sig", "rb") as sig, open("file", "rb") as file:
ctx.verify(file, signature=sig, verify=sig_key)
经过调试后,我发现我的签名具有属性summary=0
,这似乎是我的问题:gpgme-python
在cli作品中使用签名:gpg2 -u my@signature.key --verify file.sig
有什么建议吗?