我正在编写一个应用程序,在该应用程序中,我将文件同步到我想要对文件进行签名的服务器,然后将其发送回客户端,以便对其进行验证。
对于Ubuntu / Debian,似乎有多个Python的gnupg模块:
python-gnupginterface - GnuPG(GPG)的Python接口
python-gpgme - GPGME库的python包装器
python-gpgme-dbg - GPGME库的python包装器(调试扩展)
python-pyme - GPGME GnuPG加密库的Python接口
python-pyme-doc - GPGME GnuPG加密库的Python接口
有人可以推荐一些我应该使用哪种能让我快速起步并运行的人吗?
我应该只使用gpg而不是使用Python模块吗?
谢谢!
答案 0 :(得分:2)
使用python-gpgme
(作为奖励,你可能知道维护者)。
以下是如何使用它来签名的东西(如果有更好的方法,请查看jamesh,我没有广泛使用它):
import gpgme
from io import BytesIO
ctx = gpgme.Context()
plain = BytesIO("Hello")
sign = BytesIO("")
ctx.sign(plain, sign, gpgme.SIG_MODE_CLEAR)
print sign.getvalue()
如果不清楚,BytesIO就像文件一样。您可以将其标记为file("/etc/passwd")
作为简单标记,sys.stdout
作为标记,并且它是DWYW。
答案 1 :(得分:1)
您可以使用http://code.google.com/p/python-gnupg/
它包装命令行GnuPG。我用它来加密/签名和解密/验证文件。