2012-02-13 20 views
5

私は、ファイルに署名したいサーバにファイルを同期させ、それをクライアントに送って確認できるアプリケーションを書いています。ファイルに署名して確認する方法は?

のUbuntu/DebianのためのPython用の複数のGnuPGのモジュールがあるように思える:

のpython-gnupginterface - のGnuPGへのPythonインタフェース(GPG)

のpython-GPGME - GPGMEライブラリ用のPythonラッパー

は、

のpython-GPGME-DBG - GPGMEライブラリ用のPythonラッパー(デバッグ拡張機能)

のpython-pyme - GPGME GnuPGの暗号化ライブラリ

へのPythonインタフェース

python-pyme-doc - GPGME GnuPG暗号化ライブラリへのPythonインタフェース

誰かが私を使ってすばやく動くように勧めてもらえますか?

Pythonモジュールを使用する代わりにgpgにシェルするだけでいいですか?

ありがとうございます!

答えて

1

あなたはそれは、コマンドラインのGnuPGをラップhttp://code.google.com/p/python-gnupg/

を使用することができます。私はそれを使ってファイルを暗号化/署名し、解読/検証します。

+0

私はそれを見ましたが、そのパッケージはUbuntuでは利用できないようです。私のオプションは次のとおりです。 のpython-gnupginterface - GPGMEライブラリ のpython-GPGME-dbgに関するPythonラッパー - - GPGMEライブラリ(デバッグ拡張機能)のためのPythonラッパー のpython-pymeのGnuPG(GPG) のpython-GPGMEへのPythonインターフェイスを - GPGME GnuPG暗号化ライブラリへのPythonインタフェース python-pyme-doc - GPGME GnuPG暗号化ライブラリへのPythonインタフェース –

+0

@JonoBaconそれを簡単にインストールすることを検討しましたか? – jrg

+1

ああ、これをインストールするには、単純にダウンロードして圧縮解除し、 'python setup.py install' :-) –

2

python-gpgmeを使用してください(ボーナスとして、あなたはおそらくメンテナを知っています)。それはBytesIOはファイルベースで、はっきりしていない場合には

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() 

:ここ

は、あなたが何かを(より良い方法があるのならば、私は広範囲にこれを使用していないjameshに確認してください)に署名するためにそれを使用する方法ですようなもの。あなたはそれをfile("/etc/passwd")と普通にしてsys.stdoutとし、それをDWYWとすることができます。

+0

FYI私は' python-gpgme'のオリジナルコードを[launchpadからgithubにコピーしました](https://github.com)/rshk/pygpgme)を[Samuele Santi](https://github.com/rshk)に追加して、プログラマのためのドキュメンテーションやその他の贅沢を追加することを目的としています。 – ankostis

関連する問題