使用python验证分离签名

时间:2019-05-20 12:03:47

标签: python gnupg gpgme

我正在尝试使用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

有什么建议吗?

0 个答案:

没有答案